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]。

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