2011-09-08 88 views

回答

10

arr是一個表達式,其值爲int*(這是着名的'數組衰減指針'專長URE)。

&arr是一個表達式,其計算結果爲int (*)[3]

數組名稱的「decay」指向數組中第一個元素的所有表達式,除非它們是sizeof&運算符的操作數。對於這兩個操作,數組名稱保留其「數組」(C99 6.3.2.1/3「左值,數組和函數指示符」)。

+1

+1:我還要指出的是,雖然不同類型的,兩個表達式返回相同的指針地址。 –

0

它不完全相同的理由工作:

int i; 
int* pi = i; // error: no conversion from int to int*