永发信息网

C语言中NULL有什么作用

答案:2  悬赏:0  手机版
解决时间 2021-02-08 00:20
  • 提问者网友:杀手的诗
  • 2021-02-07 13:27
C语言中NULL有什么作用
最佳答案
  • 五星知识达人网友:渊鱼
  • 2021-02-07 14:39
NULL是C语言中的宏定义,其值为0.
也就是说int* num = NULL和int* num = 0;
二者的含义是相同的。
其目的在于,0这个地址在操作系统中是只读的,当你尝试访问的时候会阻止你
但是有些地址不是只读的,如果一个指针指向了这个地址,你又在不经意间修改了它
可能会导致一些重要的文件被修改,所以指针初始化成NULL是有必要的
但是话说回来,现在的操作系统都有段保护机制,即使你不初始化成NULL,也不会让你随便访问其他地址的,初始化成NULL可以让你在调试的时候,清晰的看出来你是否曾经对它赋值
全部回答
  • 1楼网友:煞尾
  • 2021-02-07 15:54
在c语言中,null和0的值都是一样的,但是为了目的和用途及容易识别的原因,null用于指针和对象,0用于数值。对于字符串的结尾,使用'\0',它的值也是0,但是让人一看就知道这是字符串的结尾,不是指针,也不是普通的数值。 拓展资料: 关于null的使用 编程工作中有一类比较容易犯的错误--指针地址未进行正确的更新赋值就加以使用,这往往会造成很严重的后果(对内存区进行错误的涂抹)。所以一个良好的习惯是,当一个指针的工作稍事休息,先把它赋值为null,待到再度使用时,重新对其赋值以及进行指针类型转化。 前面说到"null指针无法再进行任何数据访问",其实是视编译器功能而定的。0位置指向的是程序起始,对于不同的编译器,null指针的操作结果是不同的:有些是不准读写,有些是只读,甚至读写都允许。编译器是人定的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯