還是對數組概念理解的不清楚,也沒有老師教,請大家幫助我,講解的透徹些,謝謝。題目如下:若有一下的定義 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]的值