《c和指標》摘錄4 指標

2021-07-23 05:11:22 字數 1691 閱讀 8964

記憶體和位址

計算機的記憶體由數以億計的位(bit)組成,每個位可以容納0或1。由於乙個位能表示的值範圍太有限,所以單獨的用處不大,通常許多位合成一組作為乙個單位,這樣就可以儲存範圍比較大的值。

指標變數:專門存放變數的位址的變數

定義指標變數

資料型別

*

變數名

int

*a;

指標變數必須初始化再使用

int*a;

....

*a = 12;

這個宣告建立了乙個名叫 a 的指標變數,後面那條賦值語句把12儲存在a所指向的記憶體位置。但究竟a指向**呢?

我們只是宣告了這個變數,但未對它進行初始化。所有我們無法**12這個值將儲存於什麼地方。從這一點來看,指標變數和其他變數並無區別。如果變數是靜態,它會被初始化為0,但如果變數是自動的,它就根本不會被初始化。

指標變數須指向已定義的同型別變數

直接訪問與間接訪問

直接訪問:通過變數訪問變數值

間接訪問:通過存放變數位址的指標變數去訪問

指標和指向陣列的指標

陣列名是表示陣列

首位址的

位址常量

指標運算

.指標的算術運算

(1)指標 +/-整數

標準定義這種形式只能用於指向陣列中的某個元素的指標。

結果仍然是指標。

int a[10] = ;

int *p1 = a;

int *p2 = p1+3;

(2) 指標- 指標

只有當這兩個指標指向同乙個陣列中的元素時,才允許從乙個指標減去另乙個指標。

int set[6] = ;

int *p1=set, *p2 = set+5;

int t= p2 - p1;

t的值是5-0=5;

.指標的關係運算

對指標執行關係運算是有限制,只有以下的幾個

<=,>,>=

前提:它們都指向同乙個陣列的元素

C 基礎總結 4 指標

指標是乙個變數,其儲存的值是位址,而不是值本身。有點類似於組成原理裡面的變址定址 在討論指標之前,我們先來看看如何尋找常規變數的位址。只需對變數引用取位址符 就行了。如下面一段 duck變數為int型變數,其分配的位址是1000,裡面儲存的值是12,而birding是乙個int型指標變數它本身的位址...

C 學習筆記4 指標

1.什麼是指標?指標是乙個變數,其值為另乙個變數的位址,即,記憶體位置的直接位址。在使用指標儲存其他變數位址之前,對其進行宣告。指標變數宣告的一般形式為 type var name type 是指標的基型別,它必須是乙個有效的 c 資料型別,var name 是指標變數的名稱。星號是用來指定乙個變數...

4 指標運算 指標函式詳解

1.指標 資料型別 儲存位址的資料型別 2.指標變數 儲存位址的變數 4.指標的定義 型別名 變數名 型別名 變數名 表示指標變數 指標的計算 型別名 定義 先 後變數名,後型別名。int 3 1 p 2 5.指標所佔位元組 資料型別 在32位系統中,佔4個位元組 6.指標變數型別 去掉變數名 in...