关于数组指针和指针数组
#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;到底怎么理解,array为什么还能取地址?取得是整个数组的地址吗?那前面的数组指针为什么要用char *(*p),孩子被这一行困扰好久了{:5_99:} & 在这里不是取地址,它表示取数组的指针 风过无痕1989 发表于 2020-12-23 22:25
& 在这里不是取地址,它表示取数组的指针
那前面的{:5_99:} lsy358027330 发表于 2020-12-23 22:26
那前面的
char *(*p)应该这么来理解:括号中的 * 表示 p 是一个指针,括号外面的 int * 表示 p 指向的数据的类型。array第 0 个元素的类型为 int *,所以在定义 p时要加两个 *。 风过无痕1989 发表于 2020-12-23 22:38
char *(*p)应该这么来理解:括号中的 * 表示 p 是一个指针,括号外面的 int * 表示 p 指向的数据的类 ...
哦哦,好的,这样就好理解多了{:5_108:}
页:
[1]