|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
int main()
{
char *array[5] = {"FishC", "Five", "Star", "Good", "WoW"};
char *(*p)[5] = &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;
}
请问 这里定义一个数组指针为什么是char *(*p)[5] = &array;?为什么不是 char (*p)[5] = &array;?
这是指针的指针。
(*p)[5]是数组指针,这个你应该已经明白了。
**p是指针的指针,就是指针所指向的变量是一个指针。
合在一起,就是定义了一个指向指针的数组指针
|
|