char *array[10];
char **ptr = array;
我认为,第一句的结构如下图:为什么指向char的指针指针是最新的?
但最后一句,是否此数组等于阵列[0]? ptr指向数组[0]的指针,数组[0]指向char的指针? 如果这是正确的,我该如何绘制这个结构图?
char *array[10];
char **ptr = array;
我认为,第一句的结构如下图:为什么指向char的指针指针是最新的?
但最后一句,是否此数组等于阵列[0]? ptr指向数组[0]的指针,数组[0]指向char的指针? 如果这是正确的,我该如何绘制这个结构图?
ptr是指向数组的第一个元素的指针,ptr [0]或数组[0]是指向空终止字符串的第一个元素的指针。我从https://msdn.microsoft.com/en-us/library/hh184278(v=vs.88).aspx作为说明
的第一是指向字符数组( S)。该图是正确的,但通常在C中,因为约定说“字符串”是一个字符数,最后是8位整数值零,为了通用性,您可以在第一个字符后面绘制更多的字符。 –
“ptr”是从顶部向下进入数组的第一个单元格的箭头 –
指针指向与'* array'相同的'array [0]',所涉及的所有指针都将指向'char'。 –