回覆列表
-
1 # 使用者2458317293922
-
2 # 沉著夢想2v
Null是ASCII碼和Unicode碼錶的第一個字元,其ASCII碼值是0,是一個不可見字元。
C語言把它作為字串的最後一個字元,以表示字串到此結束。不可見字元通常用反斜槓‘\’+其ASCII碼值表示,故NULL常用“\0”表示,另外,在C語言的標頭檔案stdio.h中,NULL被宏定義為0。
在C語言中如果令一個指標指向NULL則表示這個指標指向空。這一點常用於表示連結串列的尾等等。
注:在C語言中NULL四個字母都是大寫的,在Java語言中null四個字母是小寫的。(Java使用的是Unicode編碼,Unicode編碼的前128個字元與ASCII碼相同)。
-
3 # 使用者2739603783822099
在C語言中,NULL和0的值都是一樣的,但是為了目的和用途及容易識別的原因,NULL用於指標和物件,0用於數值對於字串的結尾,使用'\0',它的值也是0,但是讓人一看就知道這是字串的結尾,不是指標,也不是普通的數值在不同的系統中,NULL並非總是和0等同,NULL僅僅代表空值,也就是指向一個不被使用的地址,在大多數系統中,都將0作為不被使用的地址,所以就有了類似這樣的定義#define NULL 0但並非總是如此,也有些系統不將0地址作為NULL,而是用其他的地址,所以說,千萬別將NULL和0等價起來,特別是在一些跨平臺的程式碼中,這更是將給你帶來災難。
在C語言中,
NULL和0的值都是一樣的,但是為了目的和用途及容易識別的原因,NULL用於指標和物件,0用於數值
對於字串的結尾,使用"\0",它的值也是0,但是讓人一看就知道這是字串的結尾,不是指標,也不是普通的數值
在不同的系統中,
NULL並非總是和0等同,NULL僅僅代表空值,也就是指向一個不被使用的地址,在大多數系統中,都將0作為不被使用的地址,所以就有了類似這樣的定義
#define NULL 0
但並非總是如此,也有些系統不將0地址作為NULL,而是用其他的地址,所以說,千萬別將NULL和0等價起來,特別是在一些跨平臺的程式碼中,這更是將給你帶來災難。