[C/C++系列] 熟悉又陌生的0、‘0‘、‘\0‘、‘‘0‘‘和NULL

本文详细解释了C/C++编程中不同类型的0(如整型、字符、字符串结束符)在内存中的存储情况,以及NULL在C和C++中的含义,强调了内存理解对初学者的重要性。
摘要由CSDN通过智能技术生成

在C/C++编程中,会遇到各种形式的0,虽是很基础的内容,对于初学者来说却又很容易混淆,从内存存储的角度或许能够更好的理解,整理如下:

0:整型常量,对应内存中存储的内容为0x00(8位)、0x00000000(32位)。

'0':字符常量(ASCII码值为48的字符),对应内存中存储的内容为0x30。

'\0':字符串结束符(ASCII码值为0的字符),对应内存中存储的内容为0x00。

''0'':字符串常量,对应内存中存储的内容为2个字节:0x30('0')、0x00('\0')。

NULL:C中定义为(void *)0,意为空指针,C++中定义为0,既可以表示整型常量0(编译器默认解释),又可以表示无类型指针常量(void *)0,C++11中新增的nullptr固定表示空指针。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值