1. 程式人生 > >指標和陣列的區別

指標和陣列的區別

當我們宣告一個數組時,其陣列的名字也相當與一個指標,該指標指向陣列的第一個元素。可以用指標來訪問陣列。

通過以下例子來了解陣列指標的區別。

執行以下程式碼,請問輸出的結果是什麼?

答案分別是:20,4,4

1.data1是一個數組,sizeof(data1)是求陣列的大小。這個陣列包含5個整數,每個整數佔4個位元組,因此總共佔20個位元組。

2.data2宣告為指標,儘管它指向陣列data1的第一個陣列,但本質依然是一個指標。任意指標求sizeof結果都為4。

3.在C/C++中,當陣列作為函式的引數進行傳遞時,陣列就自動化退化為同類型的指標。因此,儘管函式GetSize的引數data

被宣告為陣列,但是它會退化為指標,size3的結果依然為4。