2、指標的長度:指標的長度時固定的,任何型別的指標都是4
位元組。
原因:所有的指標都用來儲存位址,而在作業系統中,位址的長度是固定的,因為位址的長度是由作業系統的位數決定的。32
位的作業系統中是
4位元組,
64位的作業系統中 是
8位元組。
3、指標的運算子:* 和 &
「&「*」運算子:通常稱為間接引用運算子,它返回指標所指向的物件的值。
4、舉例:
5、指向的記憶體空間和對應的記憶體空間的區別:
舉例:int num = 5
num++:對
num對應的記憶體空間的值加
1p++:對
p對應的記憶體空間的值加
1(步長為4,即
p裡面儲存的
0x1000
變為0x1004
) (*p)++
:5變為6
*p:根據
p對應的記憶體空間裡面儲存的位址找到其對應的記憶體空間,對
p指向的記憶體空間操作
p:操作
p對應的空間
根據以上可得出等式:p == &num *p == num == *
(&num)
6、野指標:隨機指向一塊記憶體的指標,會導致記憶體洩漏
記憶體洩漏:①指向一塊沒有訪問許可權的記憶體空間
②指向一塊已經釋放的記憶體
7、如何避免野指標:
①當定義乙個指標的時候,不知道它的指向,則指向為空null
②當想往指標指向的空間賦值時,則要給他分配一定的空間
8、null是指0
位址,不容許操作,不允許訪問,不允許賦值
9、一維指標儲存基本變數的位址,二維指標儲存一維指標變數的位址,三維指標儲存二維指標變數的位址。
指標及其應用(二)
一 多維指標 一維指標儲存基本變數的位址 二維指標儲存一維指標變數的位址 三維指標儲存二維指標變數的位址 三 指標和陣列的區別 1 空間分配上 陣列是靜態分配的,指標是動態分配的 2 訪問效率上 陣列訪問效率更高,指標訪問效率較低 3 傳參時 接收的形參均是指標 4 安全性 陣列容易造成越界,指標容...
c語言,指標,及其應用
既然指標變數的值是乙個位址,那麼這個位址不僅可以是變數的位址,也可以是其它資料結構的位址。在乙個指標變數中存放乙個陣列或乙個函式的首位址有何意義呢?因為陣列或函式都是連續存放的。通過訪問指標變數取得了陣列或函式的首位址,也就找到了該陣列或函式。這樣一來,凡是出現陣列,函式的地方都可以用乙個指標變數來...
9 3函式指標及其應用
函式指標是指向函式的指標,指向儲存這個函式第一條指令的位址,稱為函式的入口位址。int ascending int a,int b int descending int a,int b void selectionsort int a,int n,int compare int a,int b if...