c语言null头文件
发布时间: 2024-07-31 19:19:33
‘壹’ C语言的 NULL是什么
Null,本意是"空的,元素只有零的"意思。NULL和0的值都是一样的,但是为了目的和用途及容易识别的原因,NULL用于指针和对象,0用于数值。
例:
#include<stdo.h>
int main()
{
int *p=NULL;
printf("%s",p);
}
输出<null> ,单步调试可以看出执行int *p=NULL,p的值为0x00000000,可以看出,NULL在实际底层调用中就是0。
‘贰’ C璇瑷 NULL鍦ㄥ摢涓澶存枃浠
NULL瀹忔槸瀹氢箟鍦ㄦ爣鍑嗗簱澶存枃浠stddef.h涓銆瀹忓畾涔濡备笅:
#undefNULL
#ifdefined(__cplusplus)
#defineNULL0
#else
#defineNULL((void*)0)
#endif
鍙浠ョ湅鍑篶++涓NULL涓猴纸int锛0,C涓璑ULL涓(void*)0銆傜湅𨱒C鍜孋++涓璑ULL瀹忕殑鍊肩暐链変笉钖屻
‘叁’ C语言中NULL是什么意思
在C语言中,NULL和0的值都是一样的,但是为了目的和用途及容易识别的原因,NULL用于指针和对象,0用于数值。对于字符串的结尾,使用'\0',它的值也是0,但是让人一看就知道这是字符串的结尾,不是指针,也不是普通的数值。
拓展资料:
关于NULL的使用
编程工作中有一类比较容易犯的错误--指针地址未进行正确的更新赋值就加以使用,这往往会造成很严重的后果(对内存区进行错误的涂抹)。所以一个良好的习惯是,当一个指针的工作稍事休息,先把它赋值为NULL,待到再度使用时,重新对其赋值以及进行指针类型转化。
前面说到"NULL指针无法再进行任何数据访问",其实是视编译器功能而定的。0位置指向的是程序起始,对于不同的编译器,NULL指针的操作结果是不同的:有些是不准读写,有些是只读,甚至读写都允许。编译器是人定的。
热点内容