C语言中NULL是如何定义的?

C语言中NULL是如何定义的?,第1张

是一个无类型指针,并且值为0。一个指针,拥有2个属性,即地址值和指针类型。两者的作用是:

1、地址值标识变量的首地址,32位系统下指针的地址值占4字节。

2、指针类型告诉编译器,应该怎样进行接下来的数据访问。

Null在数据库中表示 不知道的数据,主要有3种意思:

1、知道数据存在,但不知道具体值。

2、不知道数据是否存在。

3、数据不存在。

在大多数的C实现中,NULL被定义为0
也就是
#define NULL 0
NULL一般用来初始化指针变量。例如,
char str = NULL;
表明该变量不指向任何有效的内存区域,避免野指针。

C中没有对null预定义,所以null和'\0'区别就大了:null只是个合法的用户标识符,而'\0'是预定义为0的字符常量。如果是NULL和'\0',那它们没有区别,都被预定义为值为0的常量,所以混用它们不会产生任何问题,甚至把用它们的地方都改成0也无妨。一般情况下,NULL用于使指针无效或判断指针是否无效,'\0'则用于字符串结束或判断字符串是否结束。这样规范书写,代码的可读性就大为提高,没有发现有什么别的意义。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13335506.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-17
下一篇 2023-07-17

发表评论

登录后才能评论

评论列表(0条)

保存