正确答案和课程讲的内容冲突
课程中讲得是:
int (*p)[5]; 表示指向列数为5的二维数组的指针
int *p[5]; 等价于int *(p[5]); 表示包含5个指针变量的数组
题目中int (*p)[4];按照课程中讲的应该表示指向列数为的二维数组的指针,不是数组,但是正确答案A中说系统将开辟一个名为p的二维数组,这个答案与课程讲得内容冲突。
没冲突啊,人家没说(*p)[4]是二维数组,说的是p是二维数组
若有语句:int a[3][4], (*p)[4]; p = a;,则以下选项中叙述正确的是( ) A. 系统将开辟一个名为p的二维数组,p[0][0]中的值即为a[0][0]中的值 B. p+1代表a[1][0]的地址 C. p中将存放 a 数组的首地址 D. p+2代表 a 数组最后一行的首地址
答案:A
解析:系统将开辟一个名为p的二维数组,p[0][0]中的值即为a[0][0]中的值 A正确