若有定义 int a[3][4],b[4][3],(*p)[4]; 下列赋值等式正确的是 答案是 p=&a[1] p=b为什么错

日期:2018-03-14 09:12:43 人气:1

若有定义 int a[3][4],b[4][3],(*p)[4]; 下列赋值等式正确的是 答案是 p=&a[1] p=b为什么错

(*p)[4]的意思是:p是一个指向具有4个int类型元素数组的指针。 a[3][4]有3行,每行的元素有4个 b[4][3]有4行,每行的元素有3个 所以 p=&a[1]是对的,让p指向a的第二行的四个元素,因为a的每行有四个元素,这与p的定义恰恰是匹配的。
    A+
热门评论