请问大家,这里为什么有两个*号啊?实在琢磨不透
#include <stdio.h>int main()
{
char *array = {"FishC", "Five", "Star", "Good", "WoW"};
char *(*p) = &array;//这里为什么有两个*号啊,前面一个*号什么意思呢?
int i, j;
for (i = 0; i < 5; i++)
{
for (j = 0; (*p) != '\0'; j++)
{
printf("%c ", (*p));
}
printf("\n");
}
return 0;
} 本帖最后由 乐乐学编程 于 2020-10-22 19:33 编辑
一维数组指针,类型为:(*p)型
为了类型匹配,字符数组名可看成是一级指针,前面再加一个&,就是两级指针了,而(*p)型为一级指针,所以,为了类型匹配,前面再加一个* p是一个指向指针数组的指针
看这个问题:https://fishc.com.cn/forum.php?mod=viewthread&tid=181734&page=1#pid5024551
页:
[1]