cjds.net
当前位置:首页 >> C语言数组指针 >>

C语言数组指针

pi ppi是指针 带*是取值的意思 *pi=str 意思是把str这个数组的首地址 放在pi所指的空间里 换句话说就是pi指向了str数组。用pi+1之类的就可以指向数组里面的东西 *(pi+1)等同于str[1]

int*x=a[0];改成int*x=a; x=x+sizeof(int);改成x=x+1; printf("%d",x);改成printf("%d",*x); 因为: 数组名才代表数组的首地址 对指针进行加减运算,会自动跳过每个元素的长度,不需要你再求一次 输出的时候要*取值运算才得到变量的值,否则输出...

#define MAX 10 #define NUM 5 #include void main( ) { int i = 0 ; /* i 为循环变量 */ char * p, string_array[NUM][MAX] ; for( i = 0 ; i < NUM ; i ++ ) gets(string_array[i]) ; /* 该循环的功能是:输入五个字符串 */ for( i = 0 ; i < ...

数组名本质上就是个指针,也就是地址,但是它是一个常指针,是个固定值,而指针是是指针变量的简称,是个变量,这个变量存放的是地址值,它的值是可以改变的。例如: int *p;int a,b;p=&a; //把变量a的地址赋值给指针p,那么指针p就指向了变量a...

#include void print(int *p, int len) { int i = 0; for(i = 0; i < len; i++) { printf("%d ", *p); p++; } } int main() { int a[5], i; for(i = 0; i < 5; i++) scanf("%d", &a[i]); print(a, 5); } //我晕,竟然不采纳的。

其实很多课本上的话都说的比较费解!!(也是这么摸索过来的)这句话的意思真正来说是强调数组的数组名其实就是一个指针,它指向该数组的首地址。比如int a[10],这个数组内有10个int型元素,当你用你的第一个元素时,会使用a[0],它的作用就是*...

比如说定义int *w 然后下边就可以用作w[i] 这么对吗? 对的话在什么情况下可以这么使用? 答:不可以,因为w这时还是野指针。只有这样 int *w,a[44]; w=a; 操作后才可以,操作w就与操作a一样了。而且,操作指针比直接操作数组名更方便,因为指针...

任何时候都可以使用数组,使用指针。 定义时,通常只有字符指针,和字符数组指针直接定义。用来表示字符串或字符串数组。 其他一般定义数组。操作时用指针或数组。 其他指针,多半用在参数传递,数据结构内部(不确定需要内存的大小,或者链表,...

j只是一个指针,你赋初值为NULL(地址为0), *j=*j+*p是对j进行了读写。 可是,地址为0的NULL不支持读写,所以会出错。 如果j是另分配的内存空间,那么就不会出现问题 C中是 #include #include int main(void) { int a[10],i,*j,*p; j=(int*)ma...

数组和指针的区别:数组名确实表示指向数组首地址的指针,但这个指针很特别,它的值(指针的值指的是指针所指的地址)不能被改写,能改写的仅仅是其指向的内容,换句话说,数组名只能指向数组的首地址,如果有数组char a[];那么如果出现a = a+1;...

网站首页 | 网站地图
All rights reserved Powered by www.cjds.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com