c语言中的各种“零”

  在c语言中,存在各种各样的“零”。例如:0,‘0’,NULL等。下面我们就具体介绍一下这些”零“:

零的含义

零值 意义 备注
0 整型数据的0
0.0 实型数据的0
NULL 指针型数据的0 内存的0地址,用于初始化暂时不用的指针。或是标识已经被释放堆内存的指针。
‘\0’ 转义字符型(ASCII值为0) 非可打印字符,用于标识字符串结束标记。
‘0’ 字符型(ASCII值为48) 可打印字符,用于打印字符0
“0” 字符串型 包含两个ASCII值40和0

  在上述这些零中,其他的都好理解。令人困惑的恐怕就是0与NULL的关系了吧!下面,我们就主要来介绍以下这两个令人迷惑的东西。

0与NULL

  首先我们先用一段c代码来测试两者之间的关系:

#include <stdio.h>

int main()
{
    int *p = NULL;
    printf("%p\n",p);

    return 0;
}

  在linux下,使用gdb单步调试,结果如下:
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值