p=A或p=A[0]
p=A[0]或p=A[0][0]
p=A[0]或p=&A[0][0]
p=A或p=&A[0][0]
int A[10][10]; int *p; //p = A;//不能通过编译 //cout<<p<<","<<*p<<endl; p = A[0]; cout<<p<<","<<*p<<endl; //p = A[0][0]; //不能通过编译 //cout<<p<<","<<*p<<endl; p = &A[0][0]; cout<<p<<","<<*p<<endl; 答案为C
(1)p是一个指针,A是一个二级指针,这里表示首元素地址也就是首一维数组的地址,所以p不能等于A (2)A[0]相当于一维数组,相当于对第一个元素取地址 (3)A[0][0]是首元素的值,p是一个指正,应该为它的地址指向它,故p=&A[0][0]是对的
int a[10][10]; int *p = a[0]; // OK p = &a[0][0]; // OK int (*p1)[10]; p1 = a; // OK
答案错了,应该是C
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题