nil和NULL的區別

2021-10-07 13:28:34 字數 563 閱讀 5276

只能作為指標變數的值. 如果1個指標變數的值是null值代表. 代表這個指標不指向記憶體中的任何1塊空間

null其實等價於0 null其實是1個巨集. 就是0

只能作為指標變數的值. 代表這個指標變數不指向記憶體中的任何空間. 

nil其實也等價於0 也是1個巨集. 就是0.

所以, null和nil其實是一樣的 。

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

c指標用null

int *p1 = null; p1指標不指向記憶體中的任何1塊空間.

oc的類指標用nil

person *p1 = nil; p1指標不指向任何物件.

person *p1 = nil;

那麼這個時候 如果通過p1指標去訪問p1指標指向的物件的屬性 這個時候會執行報錯.

那麼這個時候,如果通過p1指標去呼叫物件的方法 執行不會報錯 但是方法不會執行 沒有任何反應

nil和null的區別

在objective c裡,nil物件被設計來跟null空指標關聯的。他們的區別就是nil是乙個物件,而null只是乙個值。而且我們對於nil呼叫方法,不會產生crash或者丟擲異常。這個技術被framework通過多種不同的方式使用。最主要的就是我們現在在呼叫方法之前根本無須去檢查這個物件是否是n...

nil和NULL的區別

nil 是對objective c id 物件賦空值 例如nsstring string nsstringstringwithformat test string nil 對於objective c 集合類物件 比如陣列物件,字典物件,當我們不需要再使用他們的時候,對他們release 的同時最好也...

和null的區別

string str1 null str引用為空 string str2 str引用乙個空串 也就是null沒有分配空間,分配了空間,因此str1還不是乙個例項化的物件,而str2已經例項化。注意因為null不是物件,是物件。所以比較的時候必須是 if str1 null 和if str2.equa...