陣列和指標

2021-07-08 12:43:37 字數 492 閱讀 8815

例如:char a[6] 與 extern char *a並不能匹配

例如:char a[6]請求預留6個字元的位置,並用「a」表示,實際是說有乙個稱為「a」的位置,可以放入6個字元。sizeof(a)為6,但是:如果把a做實參,在被呼叫函式用對形參做sizeof,就只取得到形參指標變數本身的長度(4個位元組)

而char *p是請求乙個位置放乙個指標變數,名稱為p。

陣列根本就不能傳入函式,只是允許用形參a作為乙個指標去訪問原函式中陣列的元素。所以函式宣告void f(char a)與void f(char *a)是等價的,a是作為指標a處理的。

(1)陣列空間固定,指標可動態分配

(2)sizeof陣列為陣列長度(函式形引數組例外,因為形引數組實際就是指標),sizeof指標總是指標變數自身長度

指向整個陣列的指標:int (*ap)[n],但是毫無用處

可使用一維陣列來模擬也可使用陣列指標

陣列指標和指標陣列

陣列指標 也稱行指標 定義 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...