C作业数组指针和指针数组---两个语句搞不懂
#include <stdio.h>int main()
{
char *array = {"FishC", "Five", "Star", "Good", "WoW"};
char *(*p) = &array; //这个语句究竟什么意思呢,我写的是char (*p) = &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;
}
原题:
实现结果:
除了第6行其他我都补全了,只剩第6行不理解,求大佬指教{:10_250:}
char *array 是一个指针数组 表示的定义了五个指向char类型的 指针
char (*p) 表示 一个指向 char类型的数组指针
char *(*p)== char* ((*p)) 表示 一个指向 char类型的数组指针 的 指针
一层一层看 就不会那么迷糊了 char数组 不同于int数组
&array应该就是 array的第一个地址也就是指向的 “F” 这个数 西瓜小刚 发表于 2019-9-22 15:51
char *array 是一个指针数组 表示的定义了五个指向char类型的 指针
char (*p) 表示 一个指向 char
谢谢大佬,话说数组指针,指针数组单独出现还好,一复杂点我就晕{:10_250:}
页:
[1]