若有定义语句:int a[2][3],*p[3],则以下语句正确的是(C)

问题描述:

若有定义语句:int a[2][3],*p[3],则以下语句正确的是(C)
A)p=a B)p[0]=a C)p[0]=&a[1][2] D)p[1]=&a;
为什么不选D?
1个回答 分类:综合 2014-11-30

问题解答:

我来补答
int a[2][3],*p[3];
因为[]的优先级比*高所以p是一个数组,这个数组存放的是指向整数的指针.
即存放的是一个整数变量的地址.
而&a[1][2]正好是一个整数的地址.
所以
p[0]=&a[1][2]正确.
因为D
int *p[3];
p是一个数组,这个数组存放的是整数指针.
p[1]就是一个整数指针.
但是&a并不是整数指针,它是一个数组的指针.
 
 
展开全文阅读
剩余:2000
上一页:hfftbjhg