为您找到"

定义数组a[ ],为什么int *p=&a[0];等于int *p; p=&a[0];

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

c语言中int*p=a与int*p=&a有什么区别???求大侠帮忙!!!

区别很大。第一个int *p = a;这是把a给一个指针,一般a是指针或数组,否则可能会造成很大错误。int *p = &a;这是把a的地址给p,一般a可以是一个整型变量。

...int a[ ]={0,1,2,3,4,5,6,7,8,9},*p=a *p=a 什么意思??是不是相当...

int a[ ]={0,1,2,3,4,5,6,7,8,9}:意思是a数组为包含{0,1,2,3,4,5,6,7,8,9}的整数数组,int a[ ]={0,1,2,3,4,5,6,7,8,9},*p=a:p是等效于a的整数指针,你应该这样读int *p =a;(*号跟着变量走)定义了一个指针等于a数组首地址。

int a ,*p=&a,**pp=&p 这个**pp是什么意思

pp是双重指针的意思,意思就是指向指针的指针。该段程序所表达的意思如下:1、定义一个整数形式的a。2、定义一个P指针指向a(把a的地址&a赋值给P)。3、然后再定义一个双重指针PP,指向P这个指针。在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)...

int**p=new int*; int a[3][3]; *p=a[0];//正确 p=&(a[0]);//不正确...

p的类型是int**,&a[0]的类型是int(*)[3]; 而不是int**;所以p=&a[0];自然就是不合法的了 p=a[1]; //正确,a[1]的值是&a[1][0],类型是int* ,*p的类型是int* , ok p=&(*p); // 正确,*p的类型是int* ,&(*p)的类型是int** ,ok p=&(a[1]); //错误,&(a[...

int (*p) ()的含义是?

int a,b,c;ptr=max;scanf("%d,%d",&a,&b);c=(*ptr)(a,b);printf("a=%d,b=%d,max=%d",a,b,c);} ptr是指向函数的指针变量,所以可把函数max()赋给ptr作为ptr的值,即把max()的入口地址赋给ptr,以后就可以用ptr来调用该函数,实际上ptr和max都指向同一个入口地址,不同就是ptr...

int a ,*p=&a; 则&*p相当于?

A 由于指针p指向变量a,即p==&a,所以*p==a,所以&*p==&a,而p==&a,所以&*p==p

帮个忙……定义int*p=&a[0];与*p=&a[0]的区别…

你要知道定义时候的'*'和赋值时候的'*'是不同的。在定义中int *p=&a[0];其中的*表示p是一个指针,p的内容为&a[0];在*p=&a[0]赋值语句时,*表示对p的解除引用,*p所指目标的内容为&a[0];

{ int a[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++) p[i]=i; for(i...

比如,定义int a[3][3], *p; p = a;这样就是说p指向了二维数组的首地址。而二维数组时连续的存储空间,因此,p[0] == a[0][0] ,p[1] == a[0][1] ,p[2] == a[0][3] ,p[3] == a[1][0] ,p[4] == a[1][1] ,p[5] == a[1][2] ,p[6] == a[2]...

a是数组名p是指针那*p=a和p=a有什么区别

这是你的跑图 正确的用法 我知道你的问题了,你写的没错。 你定义的时候,同时定义了数组和地址变量并且赋值,你用的是逗号隔开的,不是分号,你所谓的*p=a 其实是 int *p=a, 也就是 int *p ; p=a;一句话,你写的并没有错。只是容易误解。欢迎大家给我点赞,这么多回答的,就我...

为什么直接是p=a啊?

数组名实际上是一个指向数组第一个元素地址的指针,即a指向a[0],所以p=a,表示p=&a[0],即表示指针p指向a[0]
1 2 3 4 5 6 7 8 9

相关搜索