1樓:匿名使用者
單引號裡兩個裡面空的,在c語言中不是合法表示,要表示空字元就是用'\0'。
兩個雙引號中才可以是空的,表示空字串。
null如果表示字元時,就是上面的空字元,也就是對應ascii碼0。
null還可以表示空指標,也就是沒有進行位址初始化的指標。但實際在計算機表示中指向位址0的指標就表示沒有初始化,所以null也是指向位址0的指標。
2樓:匿名使用者
char c[1];
c[0] = '\0';與 char d[1] = "";應該是乙個意思
但是跟null是倆概念,null等於是沒有指向記憶體的指標
c語言程式中的null 和'\0'的區別是什麼?
3樓:召走刀文
null一般表示空指標,也就是這個指標沒有指向任何位址。你也可以簡單的理解為指標變數初始化時賦值
'\0'是字串的結束符。例如字串char *p= "abc";實際上,一共有4個字元,分別是'a' 'b' 'c' '\0',所以當用陣列來儲存這個字串時,就必須至少要有4個元素的陣列。
對於gets函式,當gets函式出現異常時返回null,正常處理是返回字串的指標,這是函式自己定義的。當gets函式異常時,跳出迴圈
library[count].title[0] != '\0'是判斷字串是否是空字串,""就是空字串,但是它裡面是包含乙個'\0'字元的。
所以,當不輸入字元(書名)時,跳出迴圈。
c語言中\0空字元(null)000是不是就代表空格?
4樓:奈文玉百珍
。。抄。
'\0'的意思是ascii為0的字
襲符bai。
它所的意義是「字串
du結zhi束符」。
比如,dao乙個字串"hello",它是由字元'h','e','l','l','o','\0'6個字元在記憶體中連續存放的。程式在見到第乙個'\0'時就會認為該字串結束了。
樓上的樓上所說的「null」只是乙個用來表示空指標的巨集定義,跟這個沒有太大關係。雖然(null=='\0')這個表示式返回的是「真」,但這兩個東西完全不是乙個意義。
c語言的字串,\0'null,有什麼區別
5樓:匿名使用者
\0是字串結束符,暫用乙個位元組,放在記憶體裡其實就是0x00。
null是空位址,不佔用任何位元組,是用來給指標賦值的。其實就是0位址,這個位址在c語言裡面是不允許訪問的,訪問會出異常。
比如int * p = null,int *q,q的值是乙個隨機值,p的值就是0x0。
請問 c語言中「\0」與null 的區別
6樓:百度使用者
\0是字串後面自動新增的字元,佔乙個位置。
而null作為c語言中的保留字,使用來對迴圈等進行判斷的。例如if ***=null
end明白了麼,如果有疑問你可以給我發郵件,kostevych@yahoo.***.** 我盡量解答。
7樓:超超
對於宣告以後未賦值的數值型別變數則它們的預設值為0
null關鍵字被用來作為variant子型別,它說明變數不包含有效資料。null是將null值顯式地賦值給一變數的結果,也可能是包含null的表示式之間的任何運算的結果謝謝
8樓:百度使用者
\0 \為轉義符,後跟數字為八進位制,\0就是表示數字0null在標頭檔案的定義也是0,沒區別。
它們指的都是ascii字符集中的第乙個字元,標誌「空」的乙個狀態字。
while(*pf)
while(*pf!=0)
效果也一樣,都是判斷指標為空(假)做為終止迴圈的條件。
指標這種用法一般是在呼叫函式中,會傳遞乙個指標,然後返回已指向目標的指標,使用者通過該指標就可以操縱所需功能了。如果調函式失敗,返回的就是空指標。
這可指導使用者,對失敗情況做另外的處理。
9樓:橡皮
一般null實際是 (void *)0,經常用於指標初始化,代表不指向任何有效儲存區。
'\0'是乙個字元,代表空的字元,如此而已,呵呵。
補充點,注意區分null和nul
10樓:
\0表示字串的結束符
null表示空常用於資料結構的數....->..=null
c語言 空字元 null 和字元 '0' 的區別
11樓:匿名使用者
ascii碼聽過吧,字bai符和字串的數字就du是ascii,它們和我們的zhi十dao進製數是有區別的如專:字元'0', '1', '2'……換屬
成十進位製數是48, 49, 50,這就是' ' 表示的字元和沒有的區別哦而字串就是由字元組成,但有乙個區別:字串「0123」,它可分割為'0' '1' '2' '3' '\0' <-----多了乙個尾巴'\0'------對應的十進位制值0(和'0'要區別開而null的值就是'\0',即十進位制的0,而字元'0'的十進位制值是48(要分別開來哦) --更深一層的就是null和'\0'(即0)只是值相同,意義上是不同的哦(這不懂也沒事,有彙編知識可看下)c在編譯的時候,資料段和堆疊段會被生成乙個dgroup的段組(即在記憶體中是相連的,並且是共用同乙個段位址),而這dgroup中有一段就是null(0,表示是dgroup的開始那一小段,後面才是資料段這些)段了,它由編譯器生成的,記錄了編譯器的相息。所以有相關的保護,不允許對它的內容修改<----這就是為何null值的指標是安全的,對null值的指標賦值會報錯
12樓:匿名使用者
null是一來個巨集。
#ifndef null
#ifdef __cplusplus//這個自是指示是用baic++來編譯程式du
#define null 0 //用null這個字元代表zhi0
#else
#define null ((void *)0)#endif
#endif
一般null==0
null!dao=『0』
當然'0'==48
13樓:匿名使用者
null與0的區別:抄
還是讓我們看一下windef.h中null的定義:
#ifndef null
#ifdef __cplusplus//這個是指示是用c++來編譯程式
#define null 0 //用null這個字元代表0
#else
#define null ((void *)0)#endif
#endif
所以說:它們沒有區別,只不過在c裡面會做乙個強制型別轉換。
14樓:匿名使用者
null的ascii碼值是0'0'的ascii碼值是48(也許沒能理解樓主的意思)
15樓:匿名使用者
null的內碼是0'0'的內碼是48
下面這段c語言程式中,null 和'\0'的區別是什麼?
16樓:召走刀文
null一般表示空指標,也就是這個指標沒有指向任何位址。你也可以簡單的理解為指標變數初始化時賦值
'\0'是字串的結束符。例如字串char *p= "abc";實際上,一共有4個字元,分別是'a' 'b' 'c' '\0',所以當用陣列來儲存這個字串時,就必須至少要有4個元素的陣列。
對於gets函式,當gets函式出現異常時返回null,正常處理是返回字串的指標,這是函式自己定義的。當gets函式異常時,跳出迴圈
library[count].title[0] != '\0'是判斷字串是否是空字串,""就是空字串,但是它裡面是包含乙個'\0'字元的。
所以,當不輸入字元(書名)時,跳出迴圈。
17樓:
c中沒有對null預定義,所以null和'\0'區別就大了:null只是個合法的使用者識別符號,而'\0'是預定義為0的字元常量。
如果是null和'\0',那它們沒有區別,都被預定義為值為0的常量,所以混用它們不會產生任何問題,甚至把用它們的地方都改成0也無妨。一般情況下,null用於使指標無效或判斷指標是否無效,'\0'則用於字串結束或判斷字串是否結束。這樣規範書寫,**的可讀性就大為提高,沒有發現有什麼別的意義。
18樓:匿名使用者
gets(library[count].title) != null這裡是用來判斷指標是否為空
library[count].title[0] != '\0'這裡判斷裡面的資料是否為字串結束標記
c語言中 \0 空字元(null) 000 是不是就代表空格?
19樓:匿名使用者
絕對不是bai.
這些東西你要搞的du非常清楚才行
zhi.
否則絕對學不好
daoc語言的.
'\0'表示字元
串結尾版,是乙個轉移字元,實際上他的權數值是0,所以在出現'\0'的地方你都可以用0代替.
空格的ascii是0x20. 這點你不用懷疑,我做了5年的c了.
20樓:匿名使用者
不是!\0是字串結束符
null是乙個0或者 -1因系統而已
000就是乙個整形
21樓:
當然不是啦!
\0是字串結束標誌
是檢驗乙個字串是否結束
空格好像用ascii碼\0x20代表~
c語言中怎樣給整型和字元型賦空值(null)
22樓:匿名使用者
空值這個概念實際上只是針對指標而言的。整型資料和字元的空值實際上就是乙個預設值。整型資料的預設值是0,字元型資料的預設值是『\0』
23樓:匿名使用者
null在32位操抄作系統的記憶體中的襲表現就是0x0000 0000 0000 0000 0000 0000 0000 0000,即32位都為0,其值其實為0
所以,有
int i = 0; //讓i為null
char c = '\0'; //'\0'在記憶體中的表現也為一串0,等價與0和null
24樓:享耳三告
int a=null
char a='null'
,阿克斯碼 上null就代表空值
25樓:匿名使用者
null的值為0
int a=0;
char s=;
C語言空字元NULL和字元0的區別
ascii碼聽過吧,字bai符和字串的數字就du是ascii,它們和我們的zhi十dao進製數是有區別的如專 字元 0 1 2 換屬 成十進位製數是48,49,50,這就是 表示的字元和沒有的區別哦而字串就是由字元組成,但有乙個區別 字串 0123 它可分割為 0 1 2 3 0 多了乙個尾巴 0 ...
在c語言中非法的字元常量是,在c語言中,非法的字元常量是A。tB17CnDxaa
你這個是 抄選擇題?那就選d吧,其 襲它的都是小於128的字元,可bai以顯示,d表示du的內容大於zhi等於128,不能顯示,你可以 與ascii表對應,每乙個字元常量有他相應的碼值。以下選項不合法的字元常量是 a 018 b c d xcc 每個字元常量都對應乙個整數編碼,所以表示乙個字元有兩種...
c語言中十六進位制字元陣列轉化為字串
如下 void bytetohexstr const unsigned char source,char dest,int sourcelen return 擴充套件資料 字串是一種非常重要的資料型別,但是c語言不存在顯式的字串型別,c語言中的字串都以字串常量的形式出現或儲存在字元陣列中。同時,c ...