nil和null的區別
阿新 • • 發佈:2018-09-30
點擊 指針 href 報錯 csdn per 區別 tail 對象 NULL?
?
?? ? 只能作為指針變量的值.
如果1個指針變量的值是NULL值代表.
代表這個指針不指向內存中的任何1塊空間
?
?? ? NULL其實等價於0? NULL其實是1個宏.
就是0
?
?
? 2. nil
?
?? ? 只能作為指針變量的值.
代表這個指針變量不指向內存中的任何空間.?
?? ? nil其實也等價於0
也是1個宏.
就是0.
?
?? ? 所以, NULL和nil其實是一樣的
。
?
?
? 3. 使用建議.
?? ?
?? ? 雖然使用NULL的地方可以是nil
使用 nil的地方可以使用NULL
但是不建議大家去隨便使用.
?
?? ? C指針用NULL
?? ? ? ? int *p1 = NULL; p1指針不指向內存中的任何1塊空間.
?
?? ? OC的類指針用nil
?? ? ? ? Person *p1 = nil; p1指針不指向任何對象.
?
?
? 4. 如果1個類指針的值為nil
代表這個指針不指向任何對象.
?? ? Person *p1 = nil;
?
?? ? 那麽這個時候
如果通過p1指針去訪問p1指針指向的對象的屬性
這個時候會運行報錯.
?? ? 那麽這個時候,如果通過p1指針去調用對象的方法
運行不會報錯
但是方法不會執行 沒有任何反應
本文來自 空中海 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/liuyinghui523/article/details/73611995?utm_source=copy
nil和null的區別