C語言中 int*p[4] 和 int(*p)[4]的區別

 

 

int *p[4]; //定義一個指針數組,該數組中每個元素是一個指針,每個指針指向哪裏就需要程序中後續再定義了。
int (*p)[4]; //定義一個數組指針,該指針指向含4個元素的一維數組(數組中每個元素是int型)。

區分int *p[n]; 和int (*p)[n]; 就要看運算符的優先級了。
int *p[n]; 中,運算符[ ]優先級高,先與p結合成爲一個數組,再由int*說明這是一個整型指針數組。
int (*p)[n]; 中( )優先級高,首先說明p是一個指針,指向一個整型的一維數組。

 

正確答案: A
知識點: 語言特性   
答案解析:

考查的怎麼使用指向一給數組的指針指向二維數據。 a[3][4]是一個三行四列的二維數組,所以必須以一個四列的一維數組指針指向,表現形式爲(*p)[4]。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章