C语言null的意思和0的值是一样的,用于指针和对象。 C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程。

在C语言中,NULL和0的值都是一样的,但是为了目的和用途及容易识别的原因,NULL用于指针和对象,0用于数值。
NULL就是系统定义特殊的0,把你初始化的指针指向它,可以防止“野指针”的恶果。
Null是ASCII码和Unicode码表的第一个字符,其ASCII码值是0,是一个不可见字符。
在ASCII码与Unicode码的第一个字符是NULL,它的数值是0。
C语言把它作为字符串的最后一个字符,以表示字符串到此结束。不可见字符通常用反斜杠‘\’+其ASCII码值表示,故NULL常用“\0”表示,另外,在C语言的头文件stdio.h中,NULL被宏定义为0。
在C语言中如果令一个指针指向NULL则表示这个指针指向空。这一点常用于表示链表的尾等等。
注:在C语言中NULL四个字母都是大写的,在Java语言中null四个字母是小写的。(Java使用的是Unicode编码,Unicode编码的前128个字符与ASCII码相同)
NULL 在 C 语言中为一个宏,定义为:#define NULL 0所以 if( null ) 即为 if( 0 )if( p ) 和 if( 0 ) 是完全不一样的:if( p ) 是判断 p 是否为空,即 p 是否为NULLif( 0 ) 返回的结果一定是 false
形式不同,undefined和null的区别是形式不同,
undefined是一个特殊值,通常用于指示变量尚未赋值。对未定义值的引用返回特殊值。其实大多数计算机语言,只有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil。 undefined 英 [ˌʌndɪˈfaɪnd] 美 [ˌʌndɪˈfaɪnd] adj. 未阐明的;未限定的 双语例句