溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

nil和null的區(qū)別

發(fā)布時(shí)間:2020-07-06 12:54:12 來源:網(wǎng)絡(luò) 閱讀:566 作者:ck_god 欄目:開發(fā)技術(shù)
  1. NULL?

?

?? ? 只能作為指針變量的值.
如果1個(gè)指針變量的值是NULL值代表.
代表這個(gè)指針不指向內(nèi)存中的任何1塊空間

?

?? ? NULL其實(shí)等價(jià)于0? NULL其實(shí)是1個(gè)宏.
就是0

?

?

? 2. nil

?

?? ? 只能作為指針變量的值.
代表這個(gè)指針變量不指向內(nèi)存中的任何空間.?

?? ? nil其實(shí)也等價(jià)于0
也是1個(gè)宏.
就是0.

?

?? ? 所以, NULL和nil其實(shí)是一樣的

?

?

? 3. 使用建議.

?? ?

?? ? 雖然使用NULL的地方可以是nil
使用 nil的地方可以使用NULL
但是不建議大家去隨便使用.

?

?? ? C指針用NULL

?? ? ? ? int *p1 = NULL; p1指針不指向內(nèi)存中的任何1塊空間.

?

?? ? OC的類指針用nil

?? ? ? ? Person *p1 = nil; p1指針不指向任何對(duì)象.

?

?

? 4. 如果1個(gè)類指針的值為nil
代表這個(gè)指針不指向任何對(duì)象.

?? ? Person *p1 = nil;

?

?? ? 那么這個(gè)時(shí)候
如果通過p1指針去訪問p1指針指向的對(duì)象的屬性
這個(gè)時(shí)候會(huì)運(yùn)行報(bào)錯(cuò).

?? ? 那么這個(gè)時(shí)候,如果通過p1指針去調(diào)用對(duì)象的方法
運(yùn)行不會(huì)報(bào)錯(cuò)
但是方法不會(huì)執(zhí)行 沒有任何反應(yīng)


本文來自 空中海 的CSDN 博客 ,全文地址請(qǐng)點(diǎn)擊:https://blog.csdn.net/liuyinghui523/article/details/73611995?utm_source=copy

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI