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是一个指针,指向一个整型的一维数组。

猜你喜欢

转载自blog.csdn.net/qq_41097897/article/details/82531693
int
今日推荐