还是对数组概念理解的不清楚,也没有老师教,请大家帮助我,讲解的透彻些,谢谢。题目如下:若有一下的定义 int t[3][2];,能正确表示t元素地址的表达式是A.&t[3][2] B.t[3] C.t[1] D.*t[2]

热心网友

C为正确答案A和B都指向了并不存在的数组元素地址,因为数组下标从零开始,楼上对标示符的解答是正确的,但是下面的解释有所偏颇,容易让楼主产生歧义。A语法错误,&虽然能取到t[3][2]的地址,但是t[3][2]这个元素在数组t的定义中是不存在的。B语法错误,t[3]在数组t的定义中是不存在的。C表示的正好是t[1][0]这个元素的地址。而D则是表示取t[2][0]这个元素的值。

热心网友

A和B的下标超限,D是t[2][1]单元元素的值,C是t数组第2行的起始地址。

热心网友

定义成int[3][2],其表识符应该如下:t[0][0],t[0][1]t[1][0],t[1][1]t[2][0],t[2][1]在内存当中,这六个int数值是连续存储的A:就是第三行第二个int的地址B:就是第三行首的地址,也就是t[2][0]的地址C:就是第一行首的地址,也就是t[0][0]的地址D:就是第二行首的那个int值,也就是t[1][0]的值