5 3指標和陣列

2021-06-18 21:38:50 字數 561 閱讀 7453

定義乙個大小為10的陣列a[10].

int a[10];

包含了a[0],a[1].......a[9]共計10個元素

定義指標

int *pa;

pa指向陣列a的第0個元素,即pa為a[0]的位址。

pa=&a[0];

對陣列元素a [ i ]的引用也可以寫為* ( a + i )這樣的形式,這一點至少初看起來很令人吃驚。在求陣列元素a [ i ]的值時,c語言實際上先將其轉換成* ( a + i )的形式然後再求值,因而在程式中這兩種形式等價。當把取位址運算子&應用於這兩種等價的表示形式時,可以知道& a [ i ]和a + i的含義也是相同的: a + i是a之後第i個元素的位址。相應的,如果p a是乙個指標,那麼表示式中可使用具有下標的指標p a,p a [ i ]與* ( p a + i )的含義一樣。簡而言之,乙個用陣列和下標實現的表示式可等價地用指標和和偏移量來實現。

然而,必須注意到,陣列名字和指標之間仍然存在著一點區別。指標是變數,因而在c語言中,語句pa = a和p a + +都是合法的。但陣列名字不是變數,因而諸如a = pa和a + +這樣的語句是非法的。

(17)指標和陣列

在c 語言中,指標和陣列有非常緊密的聯絡,使用陣列的時候編譯器一般會把它轉換成指標。對陣列的元素使用取位址符就能得到指向該元素的指標。陣列有乙個特性 在多數用到陣列名字的地方,編譯器都會自動的將其替換為乙個指向陣列首元素的指標。當使用陣列作為乙個auto變數的初始值時,推斷得到的型別是指標而非陣列。...

12 指標和陣列

指標和陣列 不是陣列的專屬 注意 其實陣列就是指標,指標也是陣列 陣列名 include intmain 指向陣列首元素的指標 include intmain int argc,char argv int p null p指標變數指向首元素 p a 0 p a int i 0 for i 0 i 1...

2019 09 28指標和陣列

2019.09.28指標和陣列 2019.09.28 指標指標的重要性 指標是c語言的靈魂 指標就是位址 位址就是指標 指標變數是存放記憶體單元位址的變數 指標的本質是乙個操作受限的非負整數 結構體動態記憶體的分配和釋放 eg include int main void int main void ...