1. 程式人生 > >nil和NULL 的區別

nil和NULL 的區別

  1. NULL 

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

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

  2. nil

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

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

     所以, NULLnil其實是一樣的

  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指標去呼叫物件的方法執行不會報錯 但是方法不會執行沒有任何反應

相關推薦

nilnull區別

點擊 指針 href 報錯 csdn per 區別 tail 對象 NULL? ? ?? ? 只能作為指針變量的值.如果1個指針變量的值是NULL值代表.代表這個指針不指向內存中的任何1塊空間 ? ?? ? NULL其實等價於0? NULL其實是1個宏.就是0 ? ? ?

關於nil nullNSNull的區別

1、nil和null從字面意思來理解比較簡單,nil是一個物件,而NULL是一個值,我的理解為nil是將物件設定為空,而null是將基本型別設定為空的,個人感覺有點像屬性當中,基本型別分配為assign NSString型別一般分配copy,而物件一般用retain。而且我們對於nil呼叫方法,不會產生cr

nilNULL區別

  1. NULL  只能作為指標變數的值. 如果1個指標變數的值是NULL值代表. 代表這個指標不指向記憶體中的任何1塊空間      NULL其實等價於0  NULL其實是1個巨集.

關於nil nullNSNull的區別及相關問題

1、nil和null從字面意思來理解比較簡單,nil是一個物件,而NULL是一個值,我的理解為nil是將物件設定為空,而null是將基本型別設定為空的,個人感覺有點像屬性當中,基本型別分配為assign NSString型別一般分配copy,而物件一般用retain。而且我們對於nil呼叫方法,不會產生cr

Java 空格“ ”、空字串“”null區別

空格“ ” 空字串“” 1、型別:“”是一個空字串(String),長度為0,佔記憶體,在記憶體中分配一個空間,可以使用Object物件中的方法。(例如:“”.toString()等) 2、記憶體分配:表示宣告一個字串型別的引用,其值為“”空字串,這個引用指向str1的記憶體空間。

來理解undefined null 區別

之前雖然也知道這兩個之間的區別,但是讓我描述的話,感覺上還是說的不是很清楚。今天也詳細看了一次這個知識點,現在來說說這兩者間的區別。 null: Null型別,代表“空值”,代表一個空物件指標,使用typeof運算得到 “object”,所以你可以認為它是一個特殊的物件值。 undefined: Undef

NILNILNULLNSNULL區別

前言 記得曾經有不少朋友問過筆者,在Objective-C中nil和Nil以及NULL的區別。最重要的是,在面試中還有不少朋友常會被問到。記得當年剛找工作的時候,筆者就被面試官問到過,現在筆者在這裡統一詳細說明。 NULL 對於學習過C/C++

nilNilNULLNSNull的區別

2. NSNull NSNull和nil的區別在於,nil是一個空物件,已經完全從記憶體中消失了,而如果我們想表達“我們需要有這樣一個容器,但這個容器裡什麼也沒有”的觀念時,我們就用到NSNull,我稱它為“值為空的物件”。如果你查閱開發文件你會發現NSNull這個類是繼承NSObject,並且只有

清空文件內容命令之echo/dev/null區別

linux 字符串 null 定向 我們知道清空文件內容有很多種方法我們只談論echo "" 和 /dev/null這兩種有什麽區別一、黑洞設備/dev/null是什麽?在 Linux 中, null 設備基本上被用來丟棄某個進程不再需要的輸出流,或者作為某個輸入流的空白文件,這些通常可以利用

js中undefinednull區別

常常 html exist tex 輸出 output 為什麽 hive 存在 轉自:http://www.cnblogs.com/eastday/archive/2010/03/03/1677324.html 在JavaScript中存在這樣兩種原始類型:Null與Und

null undefined 區別

fin nbsp if語句 undefined 有一個 賦值 undefine 區別 -- ---恢復內容開始--- 1.在javascipt中,將一個變量賦值為undefined 或 null ,幾乎沒什麽區別。 2. 在if語句中undefined 和 null 都會

JavaScript中Nullundefind區別

cdc 如何 undefine 只有一個 som pre cnblogs 定義 報錯 公眾號原文 Javascript有5種基本類型:Boolean,Number,Null,Undefined,String;和一種復雜類型:Object(對象); undef

C#中DBNull.ValueNull的用法區別

span 不存在 sdn null art beautiful 插入 類型 實例化 DBNull.Value,, 是適用於向數據庫的表中插入空值。而 null,是指在程序中表示空引用。 或者對象為空。就是沒有實例化。 row[column]的值為DBNull.Value的話

java-String類中的各字符串判斷(包括" "null區別

mos 大小 既然 main 引用數據類型 同時 ins emp gpo package com.day7.one; public class DemoString1 {   /**   * @param args   * 1.boolean equals(Objec

JS中的UndefinedNull區別

如果 這樣的 使用 聲明 錯誤 div type 類型 只有一個 Undefined ①在聲明變量時,如果沒有給變量賦值,則這個變量就是undefined類型; ②訪問未聲明的變量會報錯誤消息,但這樣的變量使用 typeof 測試,返回的值為Undefined。 即未聲明變

string、Emptynull三者的區別

指向 空間 AD dst rar 取出 能力 討論 字段 本文轉自 http://www.cnblogs.com/mxxblog/archive/2013/08/22/3275387.html 這是一個及其常見的問題,網上已經有關於這個問題的很多討論。但是我覺得都是不求甚

JavaScript中Undefined Null區別

efi null undefine java AR javascrip IT 例如 style Undefined 這個值表示變量不含有值。 可以通過將變量的值設置為 null 來清空變量。 例如: <script> var person; var car="V

equals()==null的用法區別

!= ima C/C++ lang bsp poi 一個 一起 amp str == null //判斷引用是否指向任何對象str.length == 0 //判斷引用指向的對象是否為空字符串,即字符串長度為0“”.equals(str) //判斷

Object.create(null) {}的區別

一、js建立物件的方式 var obj = Object.create(null); var obj1 = {} var obj2 = new Object() 二、區別 建立的方法有如上的三種方法,那麼他們之間有什麼區別呢? 通過 Object.create(

DBNullNull區別

color 指向 nbsp 適用於 .com targe www tar 數據 DBNull.Value,, 是適用於向數據庫的表中插入空值。而 null,是指在程序中表示空引用。 或者對象為空。就是沒有實例化。 row[column]的值為DBNull.Value的話,至