陣列和指標的區別和聯絡?

2021-08-09 14:43:54 字數 463 閱讀 4768

1:陣列名代表乙個靜態位址,它指向陣列元素的首位址,不可隨意更改。

而指標變數指向乙個變數或一塊記憶體的位址單元。可以改變指向。

2:在使用sizeof()中,sizeof(陣列名)代表整個陣列的所有位元組的和,而sizeof(指標)的長度是由位址匯流排長度確定。

3:陣列在記憶體分配時是一連串的空間分配,而指標只是分配其指標大小,用到時,改變指向。

4:當把陣列當成函式引數傳遞時,這時,陣列會退化成乙個指標,並指向首元素位址。

5: 在二維陣列裡,陣列名表示乙個指向一維陣列的指標(二維陣列可以看成一維陣列的擴充)這時,*(陣列名+數字(正整數)代表開啟了訪問一維陣列的開關,*(*(陣列名+數字(正整數)+正整數)

代表了一維陣列裡面元素的開關。

6:定義乙個陣列:int a[10];如果要訪問裡面的乙個元素,則用a[小於9的正整數]可以訪問,也可以用*(a+小於的正整數)表示,其實編譯器把解釋成了後者的情況。

陣列與指標區別和聯絡

在函式中陣列退化為指標 int ar int n sizeof ar sizeof ar 0 ar 0 100 ar 0 100 for int i 0 iprintf d d d n ar i ar i i ar ar i ar i i ar 輸出三列相同的值 int p ar 正確 int p ...

陣列和指標的區別與聯絡

區別 c語言把記憶體劃分成四個區,它把一般的變數和陣列等存在於記憶體中的棧區,所以陣列在c語言的定義中只是一組同型別的普通變數,即使這個變數有可能是指標。所以他的作用比指標小的很多,而指標可以指向任何區的任何資料,所以就會覺得指標和陣列名很像,但是必須要注意的是,陣列名只是指標中的一種,它是指標中只...

陣列和指標的區別與聯絡

指標和陣列的不同 1.指標和陣列儲存的資料內容不同 指標儲存指標變數,即儲存資料的位址 陣列儲存同一型別資料的值 2.指標用於動態資料結構,就是說指標儲存的資料可以改變 而陣列用於儲存固定數目且資料型別相同的元素即一旦陣列的大小定了就不容易變了 3.指標用malloc 和free 來分配空間和釋放空...