若有定义: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];