0:int型,表示数字0,ASCII码值为0;

’\0’:char型,表示一个字符串结束的标志,不会显示,也不会单独存在,ASCII码值为0;

null:表示空,一般代表0地址,ASCII码值为0 ;

’0’:char类型,表示字符的内容为0,ASCII码值为48。

从内存的角度看它们的区别:

在计算机内存中,0、’\0’、null是一样的,值都是0。以数字的方式读取就是0,以字符的方式读取就是’\0’,以某些其他方式读取就是null(比如指针,null的定义跟编译器有关,有的编译器定义null可能不是0);而’0’在内存中的值是48,以字符读取就是’0’,以数字读取就是48。

c语言中的NULL:

c语言中NULL的本质是0,但是这个0不是当一个数字来解析,而是当一个内存地址来解析的,这个0其实是0x00000000,代表内存的0地址。

我们经常会定义 int *p = NULL 来初始化防止野指针,但是为什么要让一个野指针指向内存0地址处呢

主要是因为在大部分的CPU中,内存的0地址处都不是可以随便访问的,一般都是操作系统严密管控区域,所以应用程序不能随便访问,所以野指针指向了这个区域可以保证野指针不会造成误伤,如果程序无意识地解引用,指向0地址处的野指针则会出发段错误,这样就可以提示你找出程序中的错误。

一般比较一个指针和NULL是否相等不要写成 if ( p ==NULL),而写成 if ( NULL == p ),原因是第一种写法中如果不小心把双等号 == 写成单等号 = ,则编译器不会报错,但是程序的意思完全不一样了;而第二种写法如果不小心把双等号 == 写成了单等号 = ,则编译器会发现并报错。

0,‘0’,‘\0’,null的区别相关推荐

  1. c+语言+null,C/C++语言中NULL、'\0’和0的区别

    NULL.'\0'和0的值是一样的,都是0,不过它们的表现形式不一样: 1. NULL: 即空指针,不过在C和C++中并不一样.在VS 2013的库文件string.h中可以看到如果定义. 1 /* ...

  2. php中0与NULL,False,“0”,\0的区别

    先说明一下结论:0与NULL,False,"0","\0"的值相同,都以0存储,但是类型不同, 再看一段实验代码: <?php $test=0; if($ ...

  3. C语言中野指针、NULL、0与‘\0’的区别与用途

    野指针:未初始化或初始化的指针. int*p;printf("%d",*p); NULL:代表空指针,也就是指向一个不被使用的地址. 0 :0用于数值,但在大多数系统中,都将0作为 ...

  4. C/C++中 0, ‘0’, “0”, “/0”和NULL的区别

    0:数值常量 '0':字符常量, 在内存中的值是0x30. "0":字符串常量, 实际存储的时候是一个0x30, 一个\0. "\0":字符串结束符, NULL ...

  5. C-数字0 反斜杠0 字符0 NULL区别

    数字0 '\0' NULL 都为数字0,NULL常用于0,0 '\0' 用于字符串结尾符 '0' 其对应的ascii 为48 '\0' 其对应的ascii 为0 printf("%d %d\ ...

  6. ‘\0’ ,‘0’, “0” ,0之间的区别

    看来基础还是很重要的,基础不扎实就难以学好c语言,就别说写出高质量的c语言代码了.今天,我就被这个问题折磨的不行了,哈哈,不过现在终于明白了'\0' ,'0', "0" 之间的区别 ...

  7. NULL,0,`0`,`\0`,0你分得清吗?

    ​ 来源:公众号[编程珠玑] 作者:守望先生 网站:https://www.yanbinghu.com/2019/09/19/18180.html 前言 在C语言中,我们有时候看到NULL,有时候也看 ...

  8. c语言中\0’ ,‘0’, “0” ,0的区别

     看来基础还是很重要的,基础不扎实就难以学好c语言,就别说写出高质量的c语言代码了.今天,我就被这个问题折磨的不行了,哈哈,不过现在终于明白了'\0' ,'0', "0" 之间的区 ...

  9. 关于‘\0’,‘0’,“0”,0的区别

    '\0'和'0'的异同点:有一个共同点就是它们都是字符:在c语言中,字符是按其所对应的ASCII码来存储的,一个字符占一个字节. ASCLL表上的第一个ASCII码,对是0,对应的字符是(Null), ...

最新文章

  1. gson解析mysql城市json数据_Gson解析复杂的json数据
  2. 如何安装rpm包?掌握rpm包管理工具就够了
  3. 中央空调水系统与制冷系统运行参数
  4. 有5家衣服专卖店,每家最多购买3件,用户可以选择离开,可以买衣服,最后打印总共买了几件衣服
  5. G1垃圾收集器全视角解析
  6. JAVA设置按钮无效_JAVA设置的按钮监听没有反应
  7. linux中哪一个标记可以作为子进程,linux系统编程试卷(答案)
  8. HAUT校赛--最大奇子段和
  9. centos mysql lujin_MySQL中文转换成拼音的函数[zt]
  10. springweb 初步理解
  11. WPA2 Key Reinstallation 漏洞
  12. thrift开源项目研究
  13. 36氪开放日 —— 笔记
  14. bzoj 4987 Tree
  15. 《数字图像处理》学习总结及感悟:第二章数字图像基础(4)像素间的关系
  16. npm install --save 、--save-dev 、-D、-S的区别详细解说
  17. Linux 系统和安全
  18. excel 统计函数笔记
  19. 迅雷下载器-FDM,看2019新年大电影
  20. user administration

热门文章

  1. 你居然到现在都还不知道,游戏建模行业发展的这么好?
  2. 成本加浮动酬金合同 成本加激励费用合同
  3. 蓝桥杯试题 基础练习 十六进制转十进制
  4. 本地计算机无法启动wireless,Windows无法启动Wireless PAN DHCP Server服务的解决方法
  5. 华为ensp 解决40错误,完美方式(当你所有方法都试过了,不妨试试这个)
  6. java jxl 解析excel,java使用jxl解析Excel
  7. 关于嵌入式开发的资料总结
  8. 计算机截屏窗口快捷键,电脑截屏的快捷键是什么
  9. python关键字数据驱动_携程大牛谈自动化测试里的数据驱动和关键字驱动思路的理解...
  10. 华为Mate40国内报价 华为mate40pro价格官网报价