要更準確地理解,請參閱下面的說明。需要指針聲明來保存整數數組的地址
int arr[3];
現在,用這樣的方式寫一個聲明,xyz = &arr;
編譯器不應該拋出警告。
如何聲明xyz
?
對於下面的代碼,
int main(void)
{
int arr[3];
int *p;
int **pp;
p = arr;
pp = &arr;
return 0;
}
。
WARNING:
t.c: In function ‘main’:
t.c:11:4: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
pp = &arr;
^
目標:需要聲明,使得xyz = &arr
,它不應該拋出警告。
*爲什麼*你需要一個指向* array *的指針而不是第一個元素(這是最常見的用例至少有99%)? –
這是一個來自面試官的問題。 –