A-A+
若有定义:intw[3][5];则以下不能正确表示该数组元素的表达式是A.*(*w+3)B.
问题详情
若有定义:intw[3][5];则以下不能正确表示该数组元素的表达式是
A.*(*w+3)
B.*(*(w+1))
C.*(w+1)[4]
D.*(&w[0][0]+1)
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:C
在C语言中,二维数组的名字表示的是二维数组的地址,对于二维数组intw[3][5],可以认为w为一个一维数组,含有3个元素,而每个元素为一个含有5个元素的一维数组。而(w+1)为一个含有两个元素的一维数组,首先和(w+1)[4]结合非法,4超出了二维数组的边界,取值也就是非法的了。