NULL是什么?

NULL是什么?,第1张

在计算中具有保留的值。

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

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

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

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

NULL是在计算中具有保留的值,用于指示指针不引用有效对象。

程序通常使用空指针来表示条件,例如未知长度列表的结尾或未执行某些 *** 作这种空指针的使用可以与可空类型和选项类型中的Nothing值进行比较。

空指针不应与未初始化的指针混淆:保证空指针与指向有效对象的任何指针进行比较。但是,根据语言和实现,未初始化的指针可能没有任何此类保证。

扩展资料

实际上,取消引用空指针可能会导致尝试从未映射的内存中读枣岩取或写入,从而触发分段错误或内存访问冲突。这可能表现为程序崩溃,或者转换为可由程序代码捕获的软件异常。

但是,在某些情况下并非如此。例如,在x86实模式中,地址0000:0000是可读的并且通常也是可写的,并且取消引用指向该地址的指针是完全有效但通常不需要的 *** 作,可能导致应用程序中的未定义但非崩溃的行为。

有时解除引用地址为零的指针是有意的、明确的;例如,用C语盯岩镇言编写的用于16位实模式x86设备的BIOS代码可以通过解除引用空指针来写入机凯粗器的物理地址0处的IDT。编译器还可以优化掉空指针解除引用,避免分段错误但引起其他不希望的行为。

参考资料来源:百度百科-Null


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

原文地址:https://54852.com/yw/8236345.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存