1樓:匿名使用者
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值的指標賦值會報錯
2樓:匿名使用者
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
3樓:匿名使用者
null與0的區別:抄
還是讓我們看一下windef.h中null的定義:
#ifndef null
#ifdef __cplusplus//這個是指示是用c++來編譯程式
#define null 0 //用null這個字元代表0
#else
#define null ((void *)0)#endif
#endif
所以說:它們沒有區別,只不過在c裡面會做乙個強制型別轉換。
4樓:匿名使用者
null的ascii碼值是0'0'的ascii碼值是48(也許沒能理解樓主的意思)
5樓:匿名使用者
null的內碼是0'0'的內碼是48
c語言程式中的null 和'\0'的區別是什麼?
6樓:召走刀文
null一般表示空指標,也就是這個指標沒有指向任何位址。你也可以簡單的理解為指標變數初始化時賦值
'\0'是字串的結束符。例如字串char *p= "abc";實際上,一共有4個字元,分別是'a' 'b' 'c' '\0',所以當用陣列來儲存這個字串時,就必須至少要有4個元素的陣列。
對於gets函式,當gets函式出現異常時返回null,正常處理是返回字串的指標,這是函式自己定義的。當gets函式異常時,跳出迴圈
library[count].title[0] != '\0'是判斷字串是否是空字串,""就是空字串,但是它裡面是包含乙個'\0'字元的。
所以,當不輸入字元(書名)時,跳出迴圈。
c語言的字串,\0'null,有什麼區別
7樓:匿名使用者
\0是字串結束符,暫用乙個位元組,放在記憶體裡其實就是0x00。
null是空位址,不佔用任何位元組,是用來給指標賦值的。其實就是0位址,這個位址在c語言裡面是不允許訪問的,訪問會出異常。
比如int * p = null,int *q,q的值是乙個隨機值,p的值就是0x0。
c語言中:字元''和字元 '\0'和null是等價的麼
8樓:匿名使用者
單引號裡兩個裡面空的,在c語言中不是合法表示,要表示空字元就是用'\0'。
兩個雙引號中才可以是空的,表示空字串。
null如果表示字元時,就是上面的空字元,也就是對應ascii碼0。
null還可以表示空指標,也就是沒有進行位址初始化的指標。但實際在計算機表示中指向位址0的指標就表示沒有初始化,所以null也是指向位址0的指標。
9樓:匿名使用者
char c[1];
c[0] = '\0';與 char d[1] = "";應該是乙個意思
但是跟null是倆概念,null等於是沒有指向記憶體的指標
下面這段c語言程式中,null 和'\0'的區別是什麼?
10樓:召走刀文
null一般表示空指標,也就是這個指標沒有指向任何位址。你也可以簡單的理解為指標變數初始化時賦值
'\0'是字串的結束符。例如字串char *p= "abc";實際上,一共有4個字元,分別是'a' 'b' 'c' '\0',所以當用陣列來儲存這個字串時,就必須至少要有4個元素的陣列。
對於gets函式,當gets函式出現異常時返回null,正常處理是返回字串的指標,這是函式自己定義的。當gets函式異常時,跳出迴圈
library[count].title[0] != '\0'是判斷字串是否是空字串,""就是空字串,但是它裡面是包含乙個'\0'字元的。
所以,當不輸入字元(書名)時,跳出迴圈。
11樓:匿名使用者
gets(library[count].title) != null這裡是用來判斷指標是否為空
library[count].title[0] != '\0'這裡判斷裡面的資料是否為字串結束標記
請問 c語言中「\0」與null 的區別
12樓:百度使用者
\0是字串後面自動新增的字元,佔乙個位置。
而null作為c語言中的保留字,使用來對迴圈等進行判斷的。例如if ***=null
end明白了麼,如果有疑問你可以給我發郵件,[email protected] 我盡量解答。
13樓:超超
對於宣告以後未賦值的數值型別變數則它們的預設值為0
null關鍵字被用來作為variant子型別,它說明變數不包含有效資料。null是將null值顯式地賦值給一變數的結果,也可能是包含null的表示式之間的任何運算的結果謝謝
14樓:百度使用者
\0 \為轉義符,後跟數字為八進位制,\0就是表示數字0null在標頭檔案的定義也是0,沒區別。
它們指的都是ascii字符集中的第乙個字元,標誌「空」的乙個狀態字。
while(*pf)
while(*pf!=0)
效果也一樣,都是判斷指標為空(假)做為終止迴圈的條件。
指標這種用法一般是在呼叫函式中,會傳遞乙個指標,然後返回已指向目標的指標,使用者通過該指標就可以操縱所需功能了。如果調函式失敗,返回的就是空指標。
這可指導使用者,對失敗情況做另外的處理。
15樓:橡皮
一般null實際是 (void *)0,經常用於指標初始化,代表不指向任何有效儲存區。
'\0'是乙個字元,代表空的字元,如此而已,呵呵。
補充點,注意區分null和nul
16樓:
\0表示字串的結束符
null表示空常用於資料結構的數....->..=null
c語言中 \0 空字元(null) 000 是不是就代表空格?
17樓:匿名使用者
絕對不是bai.
這些東西你要搞的du非常清楚才行
zhi.
否則絕對學不好
daoc語言的.
'\0'表示字元
串結尾版,是乙個轉移字元,實際上他的權數值是0,所以在出現'\0'的地方你都可以用0代替.
空格的ascii是0x20. 這點你不用懷疑,我做了5年的c了.
18樓:匿名使用者
不是!\0是字串結束符
null是乙個0或者 -1因系統而已
000就是乙個整形
19樓:
當然不是啦!
\0是字串結束標誌
是檢驗乙個字串是否結束
空格好像用ascii碼\0x20代表~
c語言中字元和字元和null是等價的麼
單引號裡兩個裡面空的,在c語言中不是合法表示,要表示空字元就是用 0 兩個雙引號中才可以是空的,表示空字串。null如果表示字元時,就是上面的空字元,也就是對應ascii碼0。null還可以表示空指標,也就是沒有進行位址初始化的指標。但實際在計算機表示中指向位址0的指標就表示沒有初始化,所以null...
sql表中的空字串與null中的區別何在
對於sql的新手,null值的概念常常會造成混淆,常認為null是與空字串 相同的事。情況並非如此。例如,下述語句是完全不同的 mysql insert into my table phone values null mysql insert into my table phone values 這...
用C語言求解 刪除字串的字元,用C語言求解 刪除乙個字串的乙個字元
int n maxstring 字串最大長度char n strsrc 原始串char n 1 strdes 目標串char delchar c int i 0 int j 0 for i 0 i n i 上面幾條語句就實現了你的要求。要輸出的話那簡單。int i 0 for i 0 i n 1 i...