① c語言NULL是什麼意思
null,本意是"空的;元素只有零的"意思。計算機中通常表示空值,無結果,或是空集合。
null指針是一個無類型指針,並且值為0。一個指針,擁有2個屬性--地址值和指針類型。兩者的作用是:1,地址值標識變數的首地址(32位系統下指針的地址值佔4位元組);2,指針類型告訴編譯器,應該怎樣進行接下來的數據訪問(int型數組和float型數組是不同的;數組訪問與結構體訪問也是不同的;等等)。
② c語言中null什麼意思
#defineNULL0
③ null在c語言中什麼意思
C中沒有對null預定義,所以null和'\0'區別就大了:null只是個合法的用戶標識符,而'\0'是預定義為0的字元常量。如果是NULL和'\0',那它們沒有區別,都被預定義為值為0的常量,所以混用它們不會產生任何問題,甚至把用它們的地方都改成0也無妨。一般情況下,NULL用於使指針無效或判斷指針是否無效,'\0'則用於字元串結束或判斷字元串是否結束。這樣規范書寫,代碼的可讀性就大為提高,沒有發現有什麼別的意義。
④ C語言<null>是什麼
在頭文件中定義的一個常量NULL=0;
用於指將指針懸空(不指向任何位置)樓上的指向0內存不對的.
int*p=NULL;
NULL是個好東西,給一出生的指針一個安分的家
NULL總是被定義為0嗎?
NULL不是被定義為o,就是被定義為(void*)0,這兩種值幾乎是相同的。當程序中需要一個指針時(盡管編譯程序並不是總能指示什麼時候需要一個指針),一個純粹的零或者一個void指針都能自動被轉換成所需的任何類型的指針。
NULL總是等於0嗎?
對這個問題的回答與「等於」所指的意思有關。如果你是指「與。比較的結果為相等」,例如:
if(/*...*/)
{
p=NULL;
}
else
{
p=/*somethingelse*/;
}
/*...*/
if(p==0)
那麼NULL確實總是等於0,這也就是空指針定義的本質所在。
如果你是指「其存儲方式和整型值。相同」,那麼答案是「不」。NULL並不必須被存為一個整型值0,盡管這是NULL最常見的存儲方式。在有些計算機中,NULL會被存成另外一些形式。
如果你想知道NULL是否被存為一個整型值0,你可以(並且只能)通過調試程序來查看空指針的值,或者通過程序直接將空指針的值列印出來(如果你將一個空指針強制轉換成整類型,那麼你所看到的很可能就是一個非零值)。
⑤ C語言中NULL是什麼意思
在C語言中,NULL和0的值都是一樣的,但是為了目的和用途及容易識別的原因,NULL用於指針和對象,0用於數值。對於字元串的結尾,使用'\0',它的值也是0,但是讓人一看就知道這是字元串的結尾,不是指針,也不是普通的數值。
拓展資料:
關於NULL的使用
編程工作中有一類比較容易犯的錯誤--指針地址未進行正確的更新賦值就加以使用,這往往會造成很嚴重的後果(對內存區進行錯誤的塗抹)。所以一個良好的習慣是,當一個指針的工作稍事休息,先把它賦值為NULL,待到再度使用時,重新對其賦值以及進行指針類型轉化。
前面說到"NULL指針無法再進行任何數據訪問",其實是視編譯器功能而定的。0位置指向的是程序起始,對於不同的編譯器,NULL指針的操作結果是不同的:有些是不準讀寫,有些是只讀,甚至讀寫都允許。編譯器是人定的。
⑥ C語言中NULL是表示什麼
NULL是一個宏,值為0
一般來用表示空指針,在stdio.h中可以找到NULL的宏定義
⑦ 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語言null什麼意思
NULL 用於表示指針是空指針。實際使用中實際上 NULL = 0
不過一般不建議用NULL= 0這個特性。
⑨ c語言的null
NULL 就是一個特殊的指針值, 其實本質是一個宏
#define NULL (void *)0
也就是0值, 強制轉成了指針。
用來表示一個指針非法。 所以在初始化的時候經常用NULL來初始化。
由於是非法指針, 所以對這個指針取值(*操作)會導致程序崩潰。 必須要先指向一個有效空間才可以。
⑩ C語言中NULL是什麼意思
是空指針,指向地址為0的內存,在用法上,常用來表示不存在,
例:if((fp=fopen("stu","rb"))==NULL)
exit(0);
解析:如果打開的這個名為stu的文件不存在,就退出程序;