为您找到"

数组问题 int a[5],*p;p=a;p=&a[0];p=&a;都是什么含义

"相关结果约100,000,000个

谁发点C语言例子给我,关于数组和指针的

总之*p的结果是p所指向的东西,这个东西有这些特点:它的类型是p指向的类型,它所占用的地址是p所指向的地址。 例五: int a=12; int b; int *p; int **ptr; p=&a;//&a的结果是一个指针,类型是int*,指向的类型是int,...

...main() { int p,a=5; if(p=a!=0) printf("%d\n",p); else printf...

条件 可以写成: if(p=(a!=0)) 这样看得清楚。里面是 赋值语句,(a!=0) 为真,真就是 1,(假才是 0)。p得1 ,条件真, 所以 执行 printf("%d\n",p); 打印出 1。

c语言指针:int a[3][4],(*p)[4];p=a;为什么*p会等于&a[0][0]? p

&a=a = a[0]=&a[0][0]。他们的值是一样的,都是地址,但是他们代表的步长不一样。步长体现在你做加法的时候,比如(&a++),地址就偏移了sizeof(int )*3*4的后面,到了这一片数组的后面,a++就是偏移了size...

int x=5;int*p;p=&x;p++;则p的值一定为5...int *p;p++;..int x=5...

p是地址,对地址进行自加运算,得到的值是另一个地址。而不是原先指向的那个值自加的值。懂?所以p的值为5是错的。第二个,同样是对地址进行自加运算。第三个,不能将x变量,赋值给一个地址p,即语句p=x是错的。

...指针定义二维数组?? 请用 **p ,(*P)[ ] ,*p[ ] 三种来进行指针定义...

int a[4][5],(*p)[5]; //p表示数组指针p=a;/*有了这个定义后,数组指针p指向了二维数组a的首地址,以后通过p就可以访问a */访问格式:p[i][j] , (*(p+i))[j] , *(*(p+i)+j) , *(p[i]+j) 都表是a[i...

若定义:"int a[10],*p;p=a;"则执行"p=p+5;"后,与*p不相等的是()。

处。(a+5)可以看作有一个临时指针变量*temp = a+5 (p+5)同样可以看作有一个临时指针变量*temp = p+5=a+5 而a=a+5表示将a+5处的地址赋值给a,但是数组标量名的指针地址为a[0]是常量指针,因而是错误的。

int (*p)[4]和 int a[4]; int *p=a;有本质区别么, int (*p)[4]如何...

有本质区别,int (*p)[4]:p的类型是指向一个数组的指针 int *p=a:p是一个指向整数的指针 初始化:int (*p)[4] = &a;要理解这个先要清楚指针的类型问题。内存地址保存在任何类型的指针中都是一个数值而已,但...

关于C++ int a[5]={0}, *p, *q; p=a; q=a; 合法的运算 p+q; p*q...

在C里 这几句 都 合法 在 高级语言里, 为了帮助程序员检测 出 程序 中 更多的 错误,加入了 更多的 检测 这些 检测 是不是 需要执行, 大多数 编译器里能设置。。p+q; p*q; p%q; 对于 程序员来说 ,这...

int *p, a[10]; p=&a 为什么非法

类型不匹配。改为:int (*p)[10],a[10];p=&a; //这样p的类型与&a的类型就一致了。
1 2 3 4 5 6 7 8 9

相关搜索