C語言 指標與陣列

2021-07-28 04:20:04 字數 518 閱讀 7106

c 語言中只有一維陣列,而且陣列的大小必須在編譯期就作為乙個常數定下來。然而,c語言中的陣列元素可以是任何型別的物件,當然也可以是另外乙個陣列。這樣,要「**」出乙個多維陣列就不是什麼難事。

對於乙個陣列,我們只能夠做兩件事:確定陣列的大小,以及獲得指向該陣列下標為0的元素的指標。至於其他有關陣列的操作,哪怕咋一看是以陣列下標進行運算的,實際上都是通過指標進行的。換句話說,任何乙個陣列下標運算都等同於乙個對應的指標運算,因此我們完全可以依據指標行為定義陣列下標的行為。

int calendar[12][31];

int *p;

p = calendar[4];// calendar第四個元素為陣列,p指向該陣列下標為0的元素

p = calendar;//非法,calendar為指向陣列的指標,而p為指向整型數的指標

int (*ap)[31];//ap指向乙個含31個int元素的陣列

ap = calendar;

C語言指標陣列與陣列指標

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

C語言指標 指標與陣列

1 指標與一維陣列 2 指標與二維陣列 3 指標陣列與陣列指標 指標裡面最難的一種就是指標與陣列了,對於指標和二維陣列來說這裡面的關係比較複雜。牽涉到編譯器的原理和編譯過程。1 指標與一維陣列 指標是指向乙個記憶體的位址,一維陣列的陣列名代表一塊記憶體 這個陣列 的首位址,和陣列首元素的位址一樣,但...

C語言指標 指標與陣列

一 指標的運算 指標可以進行三種運算 1.指標加上整數 如果指標p指向陣列a i 那麼指標p j 指向a i j 前提是a i j 存在!2.指標減去整數 如果指標p指向陣列a i 那麼指標p j 指向a i j 前提 a i j 存在!3.兩個指標相加減 兩指標必須指向同一變數!否則運算沒有意義的...