當前位置:首頁 » 編程語言 » C語言NULL和NULL

C語言NULL和NULL

發布時間: 2022-05-13 04:04:44

A. C/C++中,NULL和null的區別是什麼

c語言和C++對大小寫是敏感的,也就知是說null和NULL是區別對待的。NULL(如已宏定義)代表空地址,null(如沒宏定義)只是一個符號。

1、其實null和NULL都是字元串,具體看它們宏定義被定義成為什麼值。

2、在VS中NULL被定義為0,因為習慣上把宏定義的所有字元都大寫,當把NULL它賦值給指針時意思為空,當然你也可以把null定義為0了,都一樣。你把0直接賦值給指針也行,只要指針指向0就為空。

3、對於空(null)指針的概念,在 C 標准中明確地定義:值為 0 的整型常量表達式,或強制(轉換)為「void*」類型的此類表達式,稱為空指針常量。

4、當將一個空指針常量賦予一個指針或與指針作比較時,將把該常量轉換為指向該類型的指針,這樣的指針稱為空指針。空指針在與指向任何對象或函數的指針作比較時保證不會相等。

(1)C語言NULL和NULL擴展閱讀

在C中,任何類型的兩個空指針都保證比較相等。預處理器宏NULL被定義為實現定義的空指針常量,它在C99中可以可移植地表示為0隱式或顯式轉換為類型的整數值void*(指向void的指針)。

C標准沒有說空指針與指向內存地址0 的指針相同,盡管在實踐中可能就是這種情況。解引用空指針是C中的未定義行為,並且允許符合要求的實現假定任何被解除引用的指針不為空。

參考資料

網路—Null

網路—C/C++

B. C語言的 NULL是什麼

Null,本意是"空的,元素只有零的"意思。NULL和0的值都是一樣的,但是為了目的和用途及容易識別的原因,NULL用於指針和對象,0用於數值。

例:

#include<stdo.h>

int main()

{

int *p=NULL;

printf("%s",p);

}

輸出<null> ,單步調試可以看出執行int *p=NULL,p的值為0x00000000,可以看出,NULL在實際底層調用中就是0。

C. C語言中是NULL什麼意思

c語言null的意思和0的值是一樣的,用於指針和對象。

C語言是一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

C語言描述問題比匯編語言迅速,工作量小、可讀性好,易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%到20%。因此,C語言可以編寫系統軟體。

(3)C語言NULL和NULL擴展閱讀

常量與變數

常量其值不可改變,符號常量名通常用大寫。

變數是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。

數組

如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,中括弧內的索引值是從0算起的。

D. c語言null什麼意思

NULL 用於表示指針是空指針。實際使用中實際上 NULL = 0
不過一般不建議用NULL= 0這個特性。

E. c語言NULL是什麼意思

null,本意是"空的;元素只有零的"意思。計算機中通常表示空值,無結果,或是空集合。
null指針是一個無類型指針,並且值為0。一個指針,擁有2個屬性--地址值和指針類型。兩者的作用是:1,地址值標識變數的首地址(32位系統下指針的地址值佔4位元組);2,指針類型告訴編譯器,應該怎樣進行接下來的數據訪問(int型數組和float型數組是不同的;數組訪問與結構體訪問也是不同的;等等)。

F. null與NULL

其實null和NULL都是字元串,看你把它們,宏定義為什麼值,在VS中NULL被定義為0,因為習慣上把宏定義的所有字元都大寫,當把NULL它賦值給指針時意思為空,當然你也可以把null定義為0了,都一樣的啦!它們都沒定義時都只能叫符號了,定義後就有另外的意思了,你把0直接賦值給給指針也行,只要指針指向0就為空啦!其實NULL在有些編譯器中是賦為0了,這時你不能再去#define定義它了,否則就重定義了!

G. null在c語言中什麼意思

C中沒有對null預定義,所以null和'\0'區別就大了:null只是個合法的用戶標識符,而'\0'是預定義為0的字元常量。如果是NULL和'\0',那它們沒有區別,都被預定義為值為0的常量,所以混用它們不會產生任何問題,甚至把用它們的地方都改成0也無妨。一般情況下,NULL用於使指針無效或判斷指針是否無效,'\0'則用於字元串結束或判斷字元串是否結束。這樣規范書寫,代碼的可讀性就大為提高,沒有發現有什麼別的意義。

H. C語言中NULL有什麼作用具體用法是什麼

Null 屬性指定數組或指針值是否可以為 Null。
Pre 和 Post 特性上允許此屬性,此屬性只能應用於數組或指針數據類型。

必須通過使用下列值之一來設置 Null 屬性:

SA_Yes - 此值為 null。

SA_No - 此值不為 null。

SA_Maybe - 此值可以為 null。

注意

SA_ 前綴對於 C++ 是可選的。

示例
下面的代碼演示如何使用 Null 屬性:

以帶有顏色區分的格式查看復制到剪貼板列印// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Null=SA_No)] char** pc);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(Null=No)] char** pc);

I. C語言中NULL是如何定義的

是一個無類型指針,並且值為0。一個指針,擁有2個屬性,即地址值和指針類型。兩者的作用是:

1、地址值標識變數的首地址,32位系統下指針的地址值佔4位元組。

2、指針類型告訴編譯器,應該怎樣進行接下來的數據訪問。

Null在資料庫中表示 不知道的數據,主要有3種意思:

1、知道數據存在,但不知道具體值。

2、不知道數據是否存在。

3、數據不存在。

J. C語言中NULL是什麼意思

在C語言中,NULL和0的值都是一樣的,但是為了目的和用途及容易識別的原因,NULL用於指針和對象,0用於數值。對於字元串的結尾,使用'\0',它的值也是0,但是讓人一看就知道這是字元串的結尾,不是指針,也不是普通的數值。
拓展資料:
關於NULL的使用

編程工作中有一類比較容易犯的錯誤--指針地址未進行正確的更新賦值就加以使用,這往往會造成很嚴重的後果(對內存區進行錯誤的塗抹)。所以一個良好的習慣是,當一個指針的工作稍事休息,先把它賦值為NULL,待到再度使用時,重新對其賦值以及進行指針類型轉化。
前面說到"NULL指針無法再進行任何數據訪問",其實是視編譯器功能而定的。0位置指向的是程序起始,對於不同的編譯器,NULL指針的操作結果是不同的:有些是不準讀寫,有些是只讀,甚至讀寫都允許。編譯器是人定的。

熱點內容
sim卡的密碼怎麼設置密碼 發布:2025-05-10 23:41:09 瀏覽:715
自定義緩存註解 發布:2025-05-10 23:40:06 瀏覽:117
sqltext類型長度 發布:2025-05-10 23:30:21 瀏覽:978
圖形AI演算法 發布:2025-05-10 23:30:19 瀏覽:182
java上傳的文件在哪裡 發布:2025-05-10 23:30:06 瀏覽:159
議長訪問台灣 發布:2025-05-10 23:22:46 瀏覽:433
啟動電機如何配置開關 發布:2025-05-10 23:21:21 瀏覽:959
三維數組存儲 發布:2025-05-10 23:14:35 瀏覽:980
普通電腦架設成雲伺服器 發布:2025-05-10 23:13:56 瀏覽:807
為什麼找回密碼總是說驗證碼 發布:2025-05-10 23:04:07 瀏覽:183