陣列和指標的區別


在程式設計中,陣列指標關係密切,但兩者之間存在一些區別。閱讀本文以瞭解陣列與指標的不同之處。但首先讓我們討論一些陣列和指標的基礎知識。

什麼是陣列?

陣列用於儲存同質資料型別的值。它指的是由同質/相同資料型別元素組成的集合。陣列被認為是原始資料型別。它們使用“[ ]”宣告,並存儲在連續的記憶體位置中。此外,陣列使用下標/“[ ]”(方括號)來訪問元素。陣列物件無法例項化。

陣列的大小根據陣列中元素的數量固定。陣列大小基本上是元素數量乘以元素大小。另一個要點是陣列中不允許使用位欄位。在陣列中,遍歷和搜尋元素既快速又容易。

語法

以下是宣告陣列的語法:

type var_name[size];

什麼是指標?

指標用於儲存變數的地址。一個指標一次只能儲存一個變數的地址。我們可以生成指向陣列的指標。

與陣列不同,指標可以在定義時初始化為任何值。此外,它們可以在聲明後隨時初始化。指標也可以賦值為NULL值。

指標使用“*”運算子解引用。它只能更改為指向同一型別的不同變數。

語法

以下是C語言中宣告指標的語法:

datatype *variable_name;

陣列和指標的區別

下表重點突出了陣列和指標之間的重要區別:

序號

陣列

指標

1.

它儲存同質資料型別的值。

它儲存變數的地址。

2.

陣列定義為相似資料型別的集合。

指標是一個儲存另一個變數地址的變數。

3.

可以儲存的變數數量由陣列的大小決定。

指標只能儲存單個變數的地址。

4.

陣列的初始化可以在定義時完成。

指標不能在定義時初始化。

5.

陣列的性質是靜態的。

指標的性質是動態的。

6.

陣列不能根據使用者的需求調整大小。

指標可以在任何時候調整大小。

7.

陣列的分配在編譯時完成。

指標的分配在執行時完成。

結論

您應該注意的最重要的區別是,陣列用於儲存同質資料型別的值,而指標用於儲存變數的地址。

更新於:2023年2月20日

9K+ 瀏覽量

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告