簡單區分指標陣列與陣列指標

2021-07-11 12:11:52 字數 879 閱讀 2382

首先我們了解一下它們的定義:

指標陣列:首先它是乙個陣列,其次就是陣列的元素都是指標。

陣列指標:首先它是乙個指標,其次它指向乙個陣列,在32位系統下佔4個位元組。

知道了定義你也那不一定會判斷,現在來舉個栗子/\_/\:

(1)int   *p1[4]

(2)int   (*p2)[4]

要根據定義區分它們兩個其實涉及了乙個符號優先順序問題,「[ ]」的優先順序比"*"高而"( )"優先順序比"[ ]"高。

所以(1)中[4]先與p結合定義為乙個陣列,然後給這個陣列定義了乙個型別為int *[4],(1)為陣列指標,我們用編譯器看一下:

(2)中"( )"的優先順序比"[ ]"高,所以先定義乙個指標p2,p2然後p2指向了乙個陣列,陣列中的每個元素都是int型,(2)為指標陣列,我們用編譯器驗證一下:

看到這相信你已經會區分指標陣列與陣列指標了。

參考資料《c語言深度剖析》

區分指標陣列和陣列的指標

int a 10 定義乙個陣列,每個元素是int型別 int p 定義乙個指標,指向int型別 int a 10 定義乙個指標陣列,本質是個陣列,每個元素都是指標型別,並且指向int型別。指標陣列就相當於一次宣告了多個指標。陣列的每乙個元素都是乙個指標。使用時即可用a 0 a 1 等來存放位址。in...

指標陣列與陣列指標簡單區分

首先來介紹指標 在電腦科學中,指標 pointer 是程式語言中的乙個物件,利用位址,它的值直接指向 points to 存在電 腦儲存器中另乙個地方的值。由於通過位址能找到所需的變數單元,可以說,位址指向該變數單元。因此,將 位址形象化的稱為 指標 意思是通過它能找到以它為位址的記憶體單元。inc...

區分陣列指標與指標陣列

1.概念的區分 陣列指標 陣列的指標,首先說它是乙個指標,乙個指向陣列的指標。指標陣列 指標的陣列,它是乙個陣列,陣列中存放的內容為指標。2.優先順序的不同 優先順序為 比如int p n 因為 的優先順序最高,p先於結合,所以p是乙個指標,後面是陣列,於是這個就是陣列指標。在如int p n 優先...