陣列和指標的區別
在程式設計中,陣列和指標關係密切,但兩者之間存在一些區別。閱讀本文以瞭解陣列與指標的不同之處。但首先讓我們討論一些陣列和指標的基礎知識。
什麼是陣列?
陣列用於儲存同質資料型別的值。它指的是由同質/相同資料型別元素組成的集合。陣列被認為是原始資料型別。它們使用“[ ]”宣告,並存儲在連續的記憶體位置中。此外,陣列使用下標/“[ ]”(方括號)來訪問元素。陣列物件無法例項化。
陣列的大小根據陣列中元素的數量固定。陣列大小基本上是元素數量乘以元素大小。另一個要點是陣列中不允許使用位欄位。在陣列中,遍歷和搜尋元素既快速又容易。
語法
以下是宣告陣列的語法:
type var_name[size];
什麼是指標?
指標用於儲存變數的地址。一個指標一次只能儲存一個變數的地址。我們可以生成指向陣列的指標。
與陣列不同,指標可以在定義時初始化為任何值。此外,它們可以在聲明後隨時初始化。指標也可以賦值為NULL值。
指標使用“*”運算子解引用。它只能更改為指向同一型別的不同變數。
語法
以下是C語言中宣告指標的語法:
datatype *variable_name;
陣列和指標的區別
下表重點突出了陣列和指標之間的重要區別:
序號 |
陣列 |
指標 |
---|---|---|
1. |
它儲存同質資料型別的值。 |
它儲存變數的地址。 |
2. |
陣列定義為相似資料型別的集合。 |
指標是一個儲存另一個變數地址的變數。 |
3. |
可以儲存的變數數量由陣列的大小決定。 |
指標只能儲存單個變數的地址。 |
4. |
陣列的初始化可以在定義時完成。 |
指標不能在定義時初始化。 |
5. |
陣列的性質是靜態的。 |
指標的性質是動態的。 |
6. |
陣列不能根據使用者的需求調整大小。 |
指標可以在任何時候調整大小。 |
7. |
陣列的分配在編譯時完成。 |
指標的分配在執行時完成。 |
結論
您應該注意的最重要的區別是,陣列用於儲存同質資料型別的值,而指標用於儲存變數的地址。
廣告