C語言指標小筆記
阿新 • • 發佈:2019-02-20
定義:
int *p //型別說明符 * 變數名
型別說明符:變數的資料型別(該指標變數只能指向該資料型別的變數);
*:說明是指標變數;
說明:
指標型別變數中儲存的是地址;
指標變數存放的是內容(值);
指標變數在使用前必須指向相應的地址。
指向:指標變數指向本身儲存的內容(地址或者指標)所表示的記憶體單元。
使用指標之前應該會的:
取地址運算子&(獲得某個變數的地址且只能取記憶體中變數的地址,也就是不能取常量或者表示式的地址);
取值運算子*(獲得某個地址中存放的資料且只能取得指標所指向的變數的值)。
注意:
指標基本操作:
使用指標前先讓指標變數指向所需指向的變數再使用該指標變數,也就是不僅要定義還要初始化。
賦值=(只能賦相容型別的值),取值*,加減法運算(指標加減法時必須指向同一陣列,且操作時候注意不能超過陣列大小)
指標減法時候差值為兩個指標指向元素間距離,指向陣列時候即為元素之間的個數,而不是兩個元素之間位元組數。
小結:
指標也是一種資料型別,是專門存放地址的資料型別;
俗稱的指標是指地址,而不是指標變數;
指標是個常量,指標變數是變數,二者應該注意區別概念;
指標變數在使用前必須指向具體的存放的記憶體單元。(這點非常重要)