NULL是什么

NULL是什么,第1张

在计算中具有保留的值。

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

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

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

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

Null,本意是"空的,元素只有零的"意思。NULL和0的值都是一样的,但是为了目的和用途及容易识别的原因,NULL用于指针和对象,0用于数值。

例:

#include<stdoh>

int main()

{

int p=NULL;

printf("%s",p);

}

输出<null> ,单步调试可以看出执行int p=NULL,p的值为0x00000000,可以看出,NULL在实际底层调用中就是0。

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的DMRitchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

在C或C++语言中,NULL指针是一个无类型指针,并且值为0。

它和void(无类型指针)是有区别的,两者都是无类型,但void有地址值,如

int

i

=

0;

void

p

=

(void)&i;

//后面(void)表示将int强制转换为void,如果不写,编译器也会帮我们暗中完成。

int

p2

=

&i;

上面三行语句表明p是一个无类型指针,并且其值等于变量i的内存地址。p2则为一个有类型的指针,其指向一个整型变量i。

而NULL指针在此处也可以举一例说明,

int

p

=

NULL;

表示p指针值为0(NULL,,记住在C和C++中,一般NULL和0通用),不指向任何可访问的内存地址。

试图访问这个不存在的0地址,一般会导致程序错误。如后面若书写

p

=

3;

程序运行时将报错,无法将3赋值给一个不存在的内存位置。

assert是一个宏,其作用是断言某语句为真。如你上面的代码assert((strDest!=NULL)

&&

(strSrc

!=NULL));

表示,strDest和strSrc

都不为空时,这个断言将成立,程序将继续运行至下一行char

address

=

strDest;

若strDest或strSrc中有任何一个等于0(即NULL),则断言不成立。程序将在此处结束,并将会在终端(电脑屏幕)提示你断言的地方出问题了。

之所以要判断这两个字符串指针(char类型),正是因为下面while中有到strDest++=strSrc++,

星号()作用是取指针值所指向的内存中的值,意味着访问这块内存,如果上面没有断言,而此处strDest或strSrc值恰好又为NULL(即0),将出现访问空地址,程序会出错。

还有什么不懂的,可以继续追问,我作答是为了所有初学C++的人。所以看到上面两位答得太简单,就详细说明一下。

网络词null本意是空的,计算机中通常表示空值,无结果,或是空集合,程序通常使用空指针来表示条件;未知长度列表的结尾或未执行某些 *** 作,这种空指针的使用可以与可空类型和选项类型中的Nothing值进行比较。

null是JavaScript中的一个关键字,表示没有值或者是任何值都不存在。比如我们想将变量从指定值中删除我们就可以简单的指定其值为null。除此之外,与其他任何对象一样永远不会被JavaScript隐式赋值给变量。例:

var demo= null。

consolelog(demo)。

以上就是关于NULL是什么全部的内容,包括:NULL是什么、C语言的 NULL是什么、下面的代码中的“NULL;”是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/10134351.html

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

发表评论

登录后才能评论

评论列表(0条)

保存