求解答数组指针和指针数组的问题!
char* (p)[5] = &array; 特别是这个 两个 *和一个[] 怎么去认知和理解呢?
#include
int main()
{
char* array[5] = {"fishc","five","star","good","wow"};
//指针数组 里面每一个元素都是指针
char* (*p)[5] = &array;
// 定义了一个数组指针 指向的是array这个数组地址???
int i,j;
for(i = 0; i< 5;i++)
{
for(j =0; (*p)[i][j] !='\0'; j++ )
{
printf("%c",(*p)[i][j] );
}
printf("\n");
}
return 0;
}
array本身是个指针数组,里面每个指针指向一个字符串常量
而如果需要一个指针数组再去指向array,肯定是要比它高一级的指针,也就是二级指针,所以会有2个星
如果2个星一下想不明白,你先从指针数组如何指向一个int数组开始想
这就好比儿子的学习需要爸爸来监督,那谁来监督爸爸呢,就需要爸爸的爸爸