定义int a一个int a[2][3],*p[3]

答案是D。为什么A合法?不是樾界了么

p=a; ------- 这个语句才是非法引用。皮之不存毛将焉附?下面的问题就没法回答了

你对这个回答的评价是?

刚才说错了二维数组的數组名,这里的a相当于是行指针+1相当于移动一行。+2移动两行
因为+2越界了,所以指向了一块不知名的内存其中值也是不确定的。但是編译器不会报错以为内它确实是指向了一块内存空间。

你对这个回答的评价是

}

p是一个指针数组它有四个元素,每个都是一个指向int型的指针

a是一个二维数组,它的每个元素都是int型的

A的错误是因为p是常量(数组名都是指针常量),不可以被赋值而且p和a的类型也不一致。

BCD都是对p的元素赋值这是可以的,等号右边应当是一个int型数据的指针(即地址)C选项中a[1][2]是a的一个元素,是一個int型值&取了它的地址,所以是正确的

你对这个回答的评价是?

int* p[3]是定义int a了一个大小为3的数组指针也就是定义int a了三个int型的指针。

p代表指針数组的首地址相当一个二维指针。

你对这个回答的评价是

你对这个回答的评价是?

采纳数:1 获赞数:1 LV1

你对这个回答的评价是

}

我要回帖

更多关于 定义int a 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信