int *p;
p 可以指向 int 类型的数据,也可以指向类似 int arr[n] 的数组。
int **p;
p 为二级指针,指向 int * 类型的数据。
int *p[n];
p 为指针数组。[ ] 的优先级高于 *,所以应该理解为 int *(p[n]);
int (*p)[n];
p 为二维数组指针。
int *p();
p 是一个函数,它的返回值类型为 int *。
int (*p)();
p 是一个函数指针,指向原型为 int func() 的函数。
int *p;
p 可以指向 int 类型的数据,也可以指向类似 int arr[n] 的数组。
int **p;
p 为二级指针,指向 int * 类型的数据。
int *p[n];
p 为指针数组。[ ] 的优先级高于 *,所以应该理解为 int *(p[n]);
int (*p)[n];
p 为二维数组指针。
int *p();
p 是一个函数,它的返回值类型为 int *。
int (*p)();
p 是一个函数指针,指向原型为 int func() 的函数。