C語言 指標篇(二)陣列指標

2021-08-20 18:37:20 字數 543 閱讀 6556

先介紹一下概念:陣列指標,表示指向陣列的指標,或者說指標指向的是陣列!

先上**:

int main()

首先,我們定義乙個二維陣列,m是二維陣列的陣列名,也是陣列的首位址,相當於二級指標常量。

p是個指標變數,指向乙個包含2個元素的一維陣列,且p的增量以它所指向的一維陣列的長度為單位。

比如,*(p+i )= m[i][0] 。

所以不妨這麼理解,二維陣列m,本質上,以一維陣列為單位,由2個一維陣列組成。

double (*p)[2] = m;
這條語句,就是讓指標指向一維陣列空間,並把陣列的首位址賦給p,這時p就等價於m,所以

p[1][0] = 1;
等價於

m[1][0] = 1;
列印m[1][0],發現該元素值確實更新為1。

(注:還有乙個概念指標陣列,這傢伙和陣列指標,經常會讓人傻傻分不清楚,後面會繼續介紹,這倆怎麼區分)

《C語言程式設計》指標篇《二》

如何理解二維陣列元素的位址?要知道,這本書用了整整兩頁的內容來講解這方面的知識,從這裡足以看出來理解通過指標來引用二維陣列是一件比較麻煩的事情,但是我認為理解並不難。一.陣列名a和 a i 二.a i是什麼?1.a i與 a i 實際上是 a i 0 等價。2.a i 與a i 等價 二者都是位址 ...

C語言指標(函式指標陣列,二級指標)

int p num char int,int int p num int a 函式指標陣列指標和前面的陣列指標其實沒有太大區別。然後今天主要理一下函式指標陣列和二級指標。函式指標陣列中,存放的一定要是相同返回值型別,以及相同引數列表的函式指標,這樣陣列可以通過下標來呼叫不同的函式,省去了使用大量的判...

C語言指標陣列和陣列指標

初學者總是分不出指標陣列與陣列指標的區別。其實很好理解 指標陣列 首先它是乙個陣列,陣列的元素都是指標,陣列佔多少個位元組由陣列本身決定。它是 儲存指標的陣列 的簡稱。陣列指標 首先它是乙個指標,它指向乙個陣列。在32 位系統下永遠是佔4 個位元組,至於它指向的陣列佔多少位元組,不知道。它是 指向陣...