野指標和空指標

2021-10-01 06:28:56 字數 549 閱讀 5592

1.&是取位址符號,是公升維度的,取其右邊變數的位址,如&d取變數d的位址。

*是取值符號(間接訪問),是降維度的,表示右邊指標變數所指向的變數,如:*p表示指標變數p所指向的變數

2.float *****p=&d;則****p是變數d,而&*p是變數p(即變數d)的位址p,&*p等價於p.

3.在定義指標型別一定要和變數的型別對應上

4.不能引用沒有賦值的指標變數

5.不能用整形量或其他非位址量給指標變數賦值,不能將位址值賦給非指標變數。6.指標變數指向乙個未知的空間(指的是記憶體裡面的東西),操作野指標對應的空間是可能報錯的,作業系統將0–255作為系統占用不允許訪問操作。程式中允許出現野指標。

7.程式中盡量不要將乙個具體的值賦給野指標變數8.空指標是指記憶體位址編號為0的空間 。

9.操作空指標對應的空間一定會報錯

10.當我們使用完乙個指標或是不想用的時候,可以將指標內容置為空

空指標和野指標

關於多次free 出現的野指標的原因 指標變數和指標變數所指的記憶體空間變數是兩個不同的概念 free 最主要釋放的指標變數所指的記憶體空間,因為記憶體資源是有限的,很寶貴,需要 利用 但是指標變數本身的值還是之前的指向,未重置成null 所以再次釋放的時候,指向了未知的記憶體區域,產生野指標 避免...

c 空指標和野指標

野指標不同於空指標,空指標是指乙個指標的值為null,而野指標的值並不為null,野指標會指向一段實際的記憶體,只是它指向 我們並不知情,或者是它所指向的記憶體空間已經被釋放,所以在實際使用的過程中,我們並不能通過指標判空去識別乙個指標是否為野指標。野指標可能指向乙個可用的,但是正在被使用的空間,如...

iOS 野指標和空指標

沒有儲存任何記憶體位址的指標就稱為空指標 null指標 野指標是指向 垃圾 記憶體 不可用記憶體 的指標。野指標是非常危險的 比如說 定義了乙個person 的類,person類有乙個 void setname方法 person per person alloc init per setname 這...