指標(C++學習筆記 12)
阿新 • • 發佈:2018-11-06
- 記憶體將每個位元組作為一個儲存單元,並給每個儲存單元指定一個編號作為其地址。
- 系統給不同資料型別分配的儲存空間大小是不一樣的,如:整型變數分配2個位元組的儲存空間;double型變數分配8個位元組;字元型變數分配1個位元組。
- 變數的地址:因為一個變數的儲存空間要連續佔用若干個位元組(儲存單元),所以把變數所對應的儲存空間中第一個位元組的地址(即儲存空間的首地址)稱為該變數的儲存地址。
- 變數名:變數名相當於給變數的地址起的別名。
下圖是指標、變數在記憶體地址中的體現:
接下來,進入和指標相關的定義:
- 指標變數:一種特殊的變數,專門用來存放另一個變數的地址
- 指標是指向記憶體的一塊記憶體空間,而記憶體中這塊空間的大小要根據指標指向的資料的型別的長度來分配。所以在定義指標的時候要指明指標的型別,這樣程式才知道應該在記憶體中保留多大的空間給這個指標。
指標變數的定義
基型別 *指標變數名
其中,“基型別”是指標變數所指向的變數的資料型別,即指標變數指向的儲存單元中的資料的資料型別。
指標變數的引用
1、取地址運算子“&”
表示求某一變數所佔儲存單元的儲存地址。
所以可以在定義指標變數時對其賦值,稱為指標變數的初始化:
基型別 *指標變數名 = 初始地址值
如:
int ia;
int *pi = & ia;
2、指標運算子“*”
也稱“間接訪問”運算子,取指標指向的內容,即訪問指標變數所指向的儲存空間中的資料。