zj132128 发表于 2020-3-24 19:22:11

求助

#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;
}
请问 这里定义一个数组指针为什么是char *(*p) = &array;?为什么不是 char (*p) = &array;?

sunrise085 发表于 2020-3-24 19:32:31

这是指针的指针。
(*p)是数组指针,这个你应该已经明白了。
**p是指针的指针,就是指针所指向的变量是一个指针。
合在一起,就是定义了一个指向指针的数组指针
页: [1]
查看完整版本: 求助