C語言中NULL是什麼意思
Null,本意是"空的;元素隻有零的"意思。計算機中通常表示空值,無結果,或是空集合。
NULL指針是一個無類型指針,並且值為0。一個指針,擁有2個屬性--地址值和指針類型。兩者的作用是:1,地址值標識變量的首地址(32位係統下指針的地址值占4字節);2,指針類型告訴編譯器,應該怎樣進行接下來的數據訪問(int型數組和float型數組是不同的;數組訪問與結構體訪問也是不同的;等等)。
c語言NULL是什麼意思?
NULL 一般是對指針初始化賦值為空,表示變量什麼值也沒有,防止指針成為野指針
NULL就是沒有值
C語言的 NULL是什麼
Null,本意是"空的,元素隻有零的"意思。NULL和0的值都是一樣的,但是為了目的和用途及容易識別的原因,NULL用於指針和對象,0用於數值。
例:
#include int main() { int *p=NULL; printf("%s",p); } 輸出 C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有彙編語言的特點。它由美國貝爾研究所的D.M.Ritchie於1972年推出,1978年後,C語言已先後被移植到大、中、小及微型機上,它可以作為工作係統設計語言,編寫係統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。它的應用範圍廣泛,具備很強的數據處理能力,不僅僅是在軟件開發上,而且各類科研都需要用到C語言,適於編寫係統軟件,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式係統開發。 在頭文件?中?定義的一個常量?NULL=0; 用於指將指針?懸空(不指向任何位置)樓上的指向0內存不對的. int?*p=NULL; NULL是個好東西,給一出生的指針一個安分的家 NULL總是被定義為0嗎? NULL不是被定義為o,就是被定義為(void?*)0,這兩種值幾乎是相同的。當程序中需要一個指針時(盡管編譯程序並不是總能指示什麼時候需要一個指針),一個純粹的零或者一個void指針都能自動被轉換成所需的任何類型的指針。 NULL總是等於0嗎? 對這個問題的回答與“等於”所指的意思有關。如果你是指“與。比較的結果為相等”,例如: if(/*??...??*/) { p=NULL; } else { p=/*?something?else?*/; } /*??...??*/ if(p==0) 那麼NULL確實總是等於0,這也就是空指針定義的本質所在。 如果你是指“其存儲方式和整型值。相同”,那麼答案是“不”。NULL並不必須被存為一個整型值0,盡管這是NULL最常見的存儲方式。在有些計算機中,NULL會被存成另外一些形式。 如果你想知道NULL是否被存為一個整型值0,你可以(並且隻能)通過調試程序來查看空指針的值,或者通過程序直接將空指針的值打印出來(如果你將一個空指針強製轉換成整類型,那麼你所看到的很可能就是一個非零值)。 NULL 其實就是 #define NULL 0 也就是說它就是0 不過是寫代碼的時候為指針什麼的賦值或判斷指針是否為空時看起來直觀一些。 C中沒有對null預定義,所以null和'\0'區別就大了:null隻是個合法的用戶標識符,而'\0'是預定義為0的字符常量。如果是NULL和'\0',那它們沒有區別,都被預定義為值為0的常量,所以混用它們不會產生任何問題,甚至把用它們的地方都改成0也無妨。一般情況下,NULL用於使指針無效或判斷指針是否無效,'\0'則用於字符串結束或判斷字符串是否結束。這樣規範書寫,代碼的可讀性就大為提高,沒有發現有什麼別的意義。 在C語言中,NULL和0的值都是一樣的,但是為了目的和用途及容易識別的原因,NULL用於指針和對象,0用於數值。對於字符串的結尾,使用'\0',它的值也是0,但是讓人一看就知道這是字符串的結尾,不是指針,也不是普通的數值。 拓展資料: 關於NULL的使用 編程工作中有一類比較容易犯的錯誤--指針地址未進行正確的更新賦值就加以使用,這往往會造成很嚴重的後果(對內存區進行錯誤的塗抹)。所以一個良好的習慣是,當一個指針的工作稍事休息,先把它賦值為NULL,待到再度使用時,重新對其賦值以及進行指針類型轉化。 前麵說到"NULL指針無法再進行任何數據訪問",其實是視編譯器功能而定的。0位置指向的是程序起始,對於不同的編譯器,NULL指針的操作結果是不同的:有些是不準讀寫,有些是隻讀,甚至讀寫都允許。編譯器是人定的。 沒東西 是空指針,指向地址為0的內存,在用法上,常用來表示不存在, 例:if((fp=fopen("stu","rb"))==NULL) exit(0); 解析:如果打開的這個名為stu的文件不存在,就退出程序; if(NULL != p)和f(p != NULL)兩者並沒什麼區別,都是判斷指針p是否為空。 但是當考慮到出錯檢查時,if(NULL != p)寫法更好,因為如果誤寫為if(NULL = p)的時候,編譯器就會提示出錯(因為常量不能被賦值);而if(p != NULL)如果誤寫為if(p = NULL),則編譯器不會報錯。 轉載請注明出處句子大全網 » C語言中NULL是什麼意思C語言<null>是什麼
C語言中NULL有什麼作用?具體用法是什麼?
null在c語言中什麼意思
C語言中的NULL
C語言中NULL是什麼意思?
C語言中NULL是什麼意思?
if(NULL != p)和if( p!=NULL )在C語言中有什麼區別 具體是什麼意思!