指针数组和二维数组指针的区别

int *(p1[5]);  //指针数组,可以去掉括号直接写作int *p1[5];
int (*p2)[5];  // 二维数组指针,不能去掉括号。
/**p1:指针数组是一个数组,只是每个元素保存的都是指针。
* p2 是个指针,频指向一个一维的数组,这个一维数组包含5个元素。
*/

一道面试题引发的问题,首先要知道[]的优先级高于*,题目:

char **p,a[6][8]; 问p=a是否会导致程序在以后出现问题?为什么?

猜你喜欢

转载自www.cnblogs.com/Shinered/p/10471808.html