c语言/C++

来源:百度知道 编辑:UC知道 时间:2024/05/09 16:45:37
若有定义语句:int s[4][6], t[6][4], (*p)[6];,则以下正确的赋值语句是____

选择项: A:p=t;
B:p=s;
C:p=s[2];
D:p=t[3];
高手帮我解答,说说怎么做

B p是一个指向 里面6个整型变量的数组的指针,所以 B正确
不好意思 ,看错选项了

(*p)[6]
这是一个指针数组,
也就是说p代表p[0]到p[5]6个指针
每个指针都指向一个int型
而t[6][4]也有t[0]到t[5]6个指针
同样t代表了t[0]到t[5]6个指针
每个指针指向一个4个int大小的数组的首地址,也即一个int型
所以p=t是正确的
而由于s只有4个指针,p有6个指针,这两个不能相等
至于后面就是类型不符了