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'。 –