指標的加減和指標指向的變數型別有關,指標++並不一定是加1,而是加上乙個他所指向的變數型別所佔的空間
比如:int a=100;
int *p=&a; p++;
這個時候p存放的位址實際上加的是4,因為乙個int型別佔4個位元組。
相同資料型別的元素按一定順序排列的集合,把有限個型別相同的變數用乙個名字命名,然後用編號區分他們的變數的集合,這個名字稱為陣列名,編號稱為下標
陣列和指標類似,只不過它指向的是一片連續的空間。陣列名就是所存資料的首位址,下標則表示離首位址的相對位置,取陣列中的內容時會通過:
陣列首位址+下標*sizeof(陣列型別) 來獲得所訪問資料所在的具體記憶體位址。
陣列用來存放字串時它能存放的實際有效字元長度比它的實際長度小1
這跟字串的讀取方式有關,讀取字串時是以\0作為結束標誌的,所以如果字元陣列存放字串時沒有在最後放上\0的話,那麼讀取這個字串時當讀到字串末尾時因為沒有遇到\0就會接著往下讀,因為接著後面記憶體中的內容是不確定的就會出現輸出字串出現亂碼的情況。
陣列指標和指標陣列
陣列指標 也稱行指標 定義 int p n 優先順序高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。如要將二維陣列賦給一指標,應這樣賦值 int a 3 4 int p 4 該語句是定義乙個陣列指標,指向...
陣列指標和指標陣列
一 定義 陣列指標 陣列指標 是指向陣列 首元素的位址的 指標,其本質為指標 這個指標存放的是陣列首位址的位址,相當於2級指標,這個指標不可移動 指標陣列 陣列元素為指標的陣列,其本質為陣列。二 舉例 int a 3 4 這個無需多說,就是乙個 二維陣列 int p 4 就相當於int p 4 它就...
陣列指標和指標陣列
這兩個名字不同當然所代表的意思也就不同。我剛開始看到這就嚇到了,主要是中文太博大精深了,整這樣的簡稱太專業了,把人都繞暈了。從英文解釋或中文全稱看就比較容易理解。指標陣列 array of pointers,即用於儲存指標的陣列,也就是陣列元素都是指標 陣列指標 a pointer to an ar...