null是C語言中一個(gè)非常重要的關(guān)鍵字,它表示一個(gè)空指針。在C語言中,指針是一種非常重要的數(shù)據(jù)類型,它可以存儲(chǔ)變量的地址。當(dāng)一個(gè)指針沒有指向任何有效的地址時(shí),它就被稱為一個(gè)空指針。
ull在C語言中的定義如下
e NULL ((void )0)
ull實(shí)際上是一個(gè)指向地址為0的void指針。在C語言中,地址為0是一個(gè)特殊的地址,它被稱為“空指針常量”。因?yàn)榈刂窞?是無效的地址,所以將一個(gè)指針設(shè)置為NULL就意味著這個(gè)指針沒有指向任何有效的內(nèi)存地址。
ull可以幫助我們避免出現(xiàn)“野指針”的問題。所謂“野指針”,就是指一個(gè)指針變量沒有被初始化或已經(jīng)被釋放,但仍然指向某個(gè)內(nèi)存地址。如果我們使用一個(gè)野指針,就會(huì)導(dǎo)致程序崩潰或出現(xiàn)不可預(yù)知的行為。
ullull,如下所示
t p = NULL;
ull,以避免出現(xiàn)野指針的問題。例如,下面的代碼可以避免在p為空指針時(shí)訪問p所指向的內(nèi)存
if (p != NULL) {
p = 10;
ullull來初始化指針變量或判斷指針變量是否為空指針。