指標及其應用(一)

2021-07-15 08:54:44 字數 1081 閱讀 7584

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...