數據在內存中的存儲是按類型分配空間的,例如:int型變量一般分配四個字節,數據會存儲在這四個字節中。同樣的;數組的存儲也是按照類型來的。
例如:int ar[10] = {1,2,3,};
對於該數組來說,因為是int類型的數組,所以會占用40字節的空間,每4字節存儲一個int類型元素。由此引出字符串數組。
對於字符串數組來說,元素是char類型,每個元素占用一個字節。引出指針和字符串數組加一的問題
先看結論:在C中,指針加一指的是增加一個存儲單元,對數組而言,這意味着加一后的地址是下一個元素的地址,而不是下一個字節的地址。
解釋:存儲單元的意思是對應類型的空間,比如int類型的指針,一個存儲單元是四字節空間。對於字符串變量,里面的每一個字符都獨立占用一個對應類型的存儲空間,用指針表示法定義一個字符串變量后,指針++就是下一個元素的地址。而且對於自增這種寫法,只有指針表示法可以用。
