陣列指標和指標陣列

2021-07-11 07:29:21 字數 753 閱讀 2536

通俗的理解,就是指向陣列的指標。其本質是乙個指標。

1.如:

int *p;

int a[3][4];

p=a;

我們可以先宣告乙個指標,讓他指向乙個陣列,則這個指標就是陣列指標(該指標指向的位址可以改變)。另外,在這裡,陣列名本身也是乙個陣列指標,指向陣列的首位址(而陣列名指向的位址是常量,只能是陣列的首位址)。

2.如:

int (*p)[4];

是指宣告乙個指向4個int元素的陣列的乙個針p.

為了自己方便記憶,我是理解成為 儲存指標的陣列。其本質是乙個陣列。

乙個陣列,若其元素均為指標型別資料,稱為指標陣列。 也就是說,指標陣列中每乙個元素都相當於乙個指標變數,陣列中每乙個元素都是乙個位址。

如:

int

*p[4];

這裡涉及到 * 與的優先順序問題,只要我們記住比 * 優先順序更高,就比較容易區分了。

由於的優先順序更高,則p先與[4]結合,形成乙個p[4]的陣列形式,在與*結合,即表明這個陣列都是指標型別的,每個陣列元素都是乙個指標。

在我看來,關於陣列指標與指標陣列的區別,關鍵就在於 * 與的優先順序問題上,有時會有括號(),當我們在宣告是,注意觀察變數名是先與 * 結合還是結合的。如果先與 * 結合,則說明是先宣告成乙個指標,再讓這個指標指向乙個陣列,即為陣列指標。如果先與結合,就說明是先宣告乙個陣列,再把這個陣列內的元素都宣告成指標型別的,即指標陣列。

陣列指標和指標陣列

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