靚麗時尚館

位置:首頁 > 健康生活 > 心理

指標等於0和等於null的區別

心理1.1W
指標等於0和等於null的區別

空指標常量,ANSI規定:&ltstdio.h>規定預處理巨集NULL 為空指標常量,通常#define NULL 0或(void *)0

誤區:有的機器不同型別的指標使用不同的內部表示,例如將字元指標的空指標常量定義為#define NULL ((char *)0),這樣的NULL定義對於接受字元指標的函式沒有問題,但對於其他型別的指標仍然需要進行顯示的轉換,本來合法的構造可能會失敗,例如FILE *fp=NULL

注意1:NULL只能用做指標,非指標變數中不能用NULL

注意2:執行時的整數0轉化為指標不一定是空指標,只有常量整數0才能保證空指標

你可以這樣理解,NULL 是關鍵字,如果將指標的值設定為null,即代表當前指標為空指標,其不指向記憶體中的任意地址,而當指標設定為0時,其實質是在記憶體中申請一片空間,將0放入,然後將0的記憶體地址賦給指標,指標使用前都要初始化,而許多程式設計師在申明指標或者初始化時都喜歡賦值null,這是良好的程式設計習慣,因為如果你不給指標初始化,指標會隨機的指向記憶體中的任何一個地址,這就是俗稱的“指標指飄了”,在現在的計算機系統中是沒什麼的,但是早期的計算機系統中輕則記憶體洩漏,重則系統崩潰(現在的作業系統一般都會由系統或者編譯器報錯的)

標籤:指標 等於