×

null啥意思c语言

null啥意思c语言(c语言的null)

admin admin 发表于2023-06-21 01:36:53 浏览31 评论0

抢沙发发表评论

本文目录

c语言的null


NULL 就是一个特殊的指针值, 其实本质是一个宏
#define NULL (void *)0
也就是0值, 强制转成了指针。
用来表示一个指针非法。 所以在初始化的时候经常用NULL来初始化。
由于是非法指针, 所以对这个指针取值(*操作)会导致程序崩溃。 必须要先指向一个有效空间才可以。

NULL是什么


在计算中具有保留的值。

Null在使用的领域不同,其意思也不同。第一种null本意是无效的、无价值的、空的。第二种是在计算机术语中表示具有保留的值,用于指示指针不引用有效对象。而且程序通常使用空指针来表示条件,例如未知长度列表的结尾或未执行某些操作。

另外空指针的使用可以与可空类型和选项类型中的Nothing值进行比较。第三种Null是ASCII码和Unicode码表的第一个字符,其ASCII码值是0,是一个不可见字符,在C语言中作为字符串的最后一个字符,以表示字符串到此结束。

但是空字符的能力并不能总是将生成的字符串被正确解释,因为键入会创建一个空字节注入的漏洞,而这个漏洞可能会导致成为一个安全漏洞。第四种null在数据库术语中表示空值或是值未知。Null表示尚未存储数据库字段值。

以上内容参考  百度百科-Null


C语言是什么


在头文件 中 定义的一个常量 NULL=0;
用于指将指针 悬空(不指向任何位置)楼上的指向0内存不对的.
int *p=NULL;
NULL是个好东西,给一出生的指针一个安分的家
NULL总是被定义为0吗?
NULL不是被定义为o,就是被定义为(void *)0,这两种值几乎是相同的。当程序中需要一个指针时(尽管编译程序并不是总能指示什么时候需要一个指针),一个纯粹的零或者一个void指针都能自动被转换成所需的任何类型的指针。
NULL总是等于0吗?
对这个问题的回答与“等于”所指的意思有关。如果你是指“与。比较的结果为相等”,例如:
    if(/*  ...  */)
    {   
        p=NULL;
    }   
    else   
    {
        p=/* something else */;
    }
    /*  ...  */
    if(p==0)
那么NULL确实总是等于0,这也就是空指针定义的本质所在。
如果你是指“其存储方式和整型值。相同”,那么答案是“不”。NULL并不必须被存为一个整型值0,尽管这是NULL最常见的存储方式。在有些计算机中,NULL会被存成另外一些形式。
如果你想知道NULL是否被存为一个整型值0,你可以(并且只能)通过调试程序来查看空指针的值,或者通过程序直接将空指针的值打印出来(如果你将一个空指针强制转换成整类型,那么你所看到的很可能就是一个非零值)。