指標陣列和陣列指標的區別

2021-07-11 02:57:47 字數 678 閱讀 7976

從字面意思理解可知,指標陣列是乙個陣列,表示該陣列所有元素皆為同型別的指標,指向某一類資料。而陣列指標則為乙個指標,表示指向陣列首位址。具體用法如下:

陣列指標:

如要將一維陣列賦給一指標,應這樣賦值:

int a[3];             //定義乙個一維陣列。

int *p;              //定義乙個陣列指標,指向含3個元素的一維陣列。

p=a;               //將該一維陣列的首位址賦給p。也就是a或&a[0]。

p++;              //該語句執行過後,也就是p=p+1;p跨過a[0],指向了a[1]。

如要將二維陣列賦給一指標,應這樣賦值:

int a[3][4];

int (*p)[4];      //該語句是定義乙個陣列指標,指向含4個元素的一維陣列。

p=a;             //將該二維陣列的首位址賦給p,也就是a[0]或&a[0][0]

p++;          //該語句執行過後,也就是p=p+1;p跨過行a[0]指向了行a[1]

所以陣列指標也稱指向一維陣列的指標,亦稱行指標。

指標陣列:

如要定義乙個指標陣列,應如下:

int *p[10];  //定義乙個陣列,該陣列含有10個int 型別的指標,這些指標皆指向int型別的資料。

指標陣列和陣列指標的區別

這兩個名字不同當然所代表的意思也就不同。我剛開始看到這就嚇到了,主要是中文太博大精深了,整這樣的簡稱太專業了,把人都繞暈了。從英文解釋或中文全稱看就比較容易理解。指標陣列 array of pointers,即用於儲存指標的陣列,也就是陣列元素都是指標 陣列指標 a pointer to an ar...

指標陣列和陣列指標的區別

這兩個名字不同當然所代表的意思也就不同。我剛開始看到這就嚇到了,主要是中文太博大精深了,整這樣的簡稱太專業了,把人都繞暈了。從英文解釋或中文全稱看就比較容易理解。指標陣列 array of pointers,即用於儲存指標的陣列,也就是陣列元素都是指標 陣列指標 a pointer to an ar...

指標陣列和陣列指標的區別

這兩個名字不同當然所代表的意思也就不同。我剛開始看到這就嚇到了,主要是中文太博大精深了,整這樣的簡稱太專業了,把人都繞暈了。從英文解釋或中文全稱看就比較容易理解。指標陣列 array of pointers,即用於儲存指標的陣列,也就是陣列元素都是指標 陣列指標 a pointer to an ar...