问答题
如何合法表示二维数组
【正确答案】
【答案解析】
对于数组a[3][4]、*(a[1]+1)、*(&a[1][1])、(*(a+1))[1]和*(a+5)四种表示方法中,哪个不能表示a[1][1]?
第一个可以,因为a[1]是第一行的地址,a[1]+1偏移一个单位然后解引用取值,得到a[1][1]。第二个也可以,[]优先级高,a[1][1]取地址再取值。第三个a+1相当于&a[1],所以+(a+1)=a[1],因此+*(a+1)[1]=a[1][1]。第四个a+5相当于&a[5],单从这里看就已经越界了,所以不可以。
提交答案
关闭