若有定义:int w[3][5];这一下不能正确表示该数组元素的表达式是()A *(*w+3) B *(w+1)[4] C *(*w+1) D *(&w[0][0]+1) 为什么是那样?各个表示达标的是什么意思?
问题描述:
若有定义:int w[3][5];这一下不能正确表示该数组元素的表达式是()
A *(*w+3) B *(w+1)[4] C *(*w+1) D *(&w[0][0]+1)
为什么是那样?各个表示达标的是什么意思?
答
答案是:B *(w+1)[4]
A *(*w+3)
这个表示w[0][3];
B *(w+1)[4]
正确的写法(*w+1)[4],表示w[1][4];
C *(*w+1)
这个表示w[0][1];
D *(&w[0][0]+1)
这个表示w[0][1];