-2
char *array[10];

char **ptr = array;

在我看来,第一句话的结构如下图:

图表

但是最后一句,这个数组是否等于数组[0]?和指向数组 [0] 的 ptr 指针,指向 char 的数组 [0] 指针?如果那是正确的,我怎样才能画出这个结构图?

4

2 回答 2

1

使用此指令char *array[10];,您将声明一个包含 10 个 (char *) 元素的数组,即 char 指针。

在此处输入图像描述

char **ptr = array;是指向 char 的指针的指针,如以下模式(ptris argvarrayis argc):

在此处输入图像描述

于 2016-05-08T09:31:35.563 回答
1

ptr 是指向数组第一个元素的指针,ptr[0] 或 array[0] 是指向以空字符结尾的字符串的第一个元素的指针。我从https://msdn.microsoft.com/en-us/library/hh184278(v=vs.88).aspx得到图表作为说明

结构

于 2016-05-08T09:25:27.927 回答