NULL,0,`0`,`\0`,"0"区别-程序员宅基地

前言
在C语言中,我们有时候看到NULL,有时候也看到'\0',那它们之间有什么区别呢?

本质
本质来说,NULL,0,'\0'都是一样的,都是值0。是的,你没有听错。它们虽然值都是0,但是含义却是不一样的。

NULL
虽然值是0,但是它的含义不一样,或者说它的类型不一样。NULL是指针类型,不过它是空指针,即值为0。

实际上NULL通常是如下定义:

#define NULL (void*)0
所以,如果要给一个指针类型初始化,那么你给它一个NULL,使得能够明显的看到这是一个指针。

当然,在C++中,你更应该使用nullptr,而不是NULL。

'\0'
我们都知道\是转义符,用单引号包起来,再加转义,实际上就是0,只不过它表示的是字符。就向下面这样:

//nul.c
#include<stdio.h>
int main(void)
{
    char a = '\0';
    char b = '0';
    printf("a = %d,b = %d\n",a,b);
    return 0;
}

编译运行:

$ gcc -o nul nul.c
./nul
a = 0,b = 48

我们最常见到的就是它作为字符串的结束符。所以我们常常会看到下面这样的写法:

char str[16];
/*do something*/
str[15] = '\0';

还记得printf是如何打印字符串,以及strcmp比较停止规则吗?是的,它们都以遇到'\0'结束。

注意,它和'0'完全不一样。通过打印就可以看到了,实际上'\0'的值就是0。

需要特别注意的是,如果'\0'的0后面跟八进制的数,则会被转义。所以'\60'与'0'的值一致。

0
这个不用多解释。

int a = 0;
"0"
用双引号包裹的0是字符串,我们看不到的是它结尾还有一个’\0‘

#include<stdio.h>
int main(void)
{
    char str[] = "0";
    printf("sizeof str is %d,string len is %d\n",sizeof(str),strlen(str));
    return 0;
}

运行结果:

sizeof str is 2,string len is 1

"\0"

这也是字符串,只不过是两个空字符。使用strlen计算字符串长度为0。

" "

字符串。字符串长度为1,占用空间2字节,是一个空格加空字符。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wteruiycbqqvwt/article/details/102498276

智能推荐

Java就业企业面试问题-电商项目_电商公司招程序员java-程序员宅基地

文章浏览阅读791次。1.dubbo服务开发流程,运行流程?zookeeper注册中心的作用?小疑问: 为什么发布服务需要用到spring容器啊?答: spring容器存储该服务,然后spring就会帮我们发布服务,注册到注册中心上去(常见注册中心比如zookeeper)2.redis为什么可以做缓存?项目中使用redis的目的是什么?redis什么时候使用?小疑问:为什么redis可以用来生成订单号,访问量..._电商公司招程序员java

好用的在线HTTP接口测试 - HTTP GET/POST模拟请求测试工具-ApiPost-程序员宅基地

文章浏览阅读9k次。现在的模拟发送请求插件很多比如老外的postman等,但亲测咱们国内的 ApiPost 更好用一些,因为它不仅可以模拟发送get、post、delete、put请求,还可以导出文档,支持团队协作也是它的特色。另外老外的思维跟我们还是有些鸿沟,相对来说ApiPost的中文界面更适合国内的程序员。今天来分享如何使用ApiPost发送各种请求。1、下载ApiPost官方提供chrome插件、window客户端、mac客户端下载,最好在ApiPost的官网下载。不过个人建议安装客户端。使用更灵活。亲自试了下_在线http

Hadoop 基础系列一Hadoop 系列之 1.0 和2.0 架构-程序员宅基地

文章浏览阅读449次。精选30+云产品,助力企业轻松上云!>>> Hado..._hadoop1.0和2.0项目结构

ROS基础教程学习笔记1-安装并配置ROS环境_接下来首先source一下新生成的setup.*sh文件:-程序员宅基地

文章浏览阅读270次。首先是安装ROS,我所用的ubuntu16.04,所安装的ROS是kinetic版本,安装请参考:ubuntu16.04安装ROS1.管理环境变量在前面的安装过程中,配置亮环境,此时来查看ROS环境是否配置成功:export | grep ROS植入命令之后会出现如下信息:如果没有就需要重新输入添加环境变量的命令。2.创建ROS工作空间通过创建ros工作站,也..._接下来首先source一下新生成的setup.*sh文件:

以Apollo为例学习/分析自动驾驶运动规划算法_apollo古月居-程序员宅基地

文章浏览阅读5.4k次,点赞16次,收藏171次。一、Lattice(Frenet)二、EM三、Opt(OSQP)/IPOPT汇总四、Hybrid A*/圆弧Lattice以上算法结合感知决策等框架,是否能覆盖大多数场景?L2/L4,辅助驾驶、矿区、环卫、Robotaxi、泊车、无人接驳车、农用、Robobus、物流配送、Robotruck新势力、Tier1、计算平台?工业界的仿真、量产、数据?..._apollo古月居

矩阵乘法 求斐波那契数列_矩阵乘法算波拉契法吗-程序员宅基地

文章浏览阅读731次。先简单介绍一下矩阵乘法求斐波那契数列的原理f(n) 是第n项的值。f(1)= 1; f(2) =1;f(n)= f(n-1) + (n-2)下面的介绍是我从网上查到了,收益匪浅。分两步推导: 问题的求解就变成的解决,而幂的求可用二分法来求。二分法可用递归和非递归来求:下面是代码:定义矩阵struct matrix //定义2*2的矩阵&nb_矩阵乘法算波拉契法吗

随便推点

redis三种集群模式_redis 6379 6380-程序员宅基地

文章浏览阅读1.3k次。一、单机模式就是安装一个redis,启动起来,业务调用即可有什么问题?单机故障 容量瓶颈 QPS瓶颈只适合一些性能不高、可靠性不用太强的业务系统。二、主从复制模式可以解决单机模式的单机故障问题外,还有好处:读写分离 容灾备份假设我们要搭建1主2从,分别是6379、6380、6381端口6379主节点redis.conf配置文件不需要动,只把6380、6381两个从节点redis.conf配置文件增加一行(配置主节点的ip端口)slaveof 127.0.0_redis 6379 6380

ACM论文投稿时常用的几项操作_settopmatter-程序员宅基地

文章浏览阅读2.3w次,点赞36次,收藏102次。一、我们发现ACM的latex模板中会有ACM Reference Format信息,如下:投稿时,可以使用如下的方法将其去掉,在 \documentclass[sigconf]{acmart}下面直接添加这几行即可去掉\settopmatter{printacmref=false} % Removes citation information below abstract\re..._settopmatter

ios内嵌H5滑动不流畅、白屏解决方案_ios h5 卡-程序员宅基地

文章浏览阅读2.5k次。1.最外层div加上 -webkit-overflow-scrolling属性,解决ios滑动不流畅.div {-webkit-overflow-scrolling: touch;}2.外层div里面的所有元素添加 -webkit-transform: translateZ(0px)属性,解决滑动时出现的空白(即图片不显示).div > * {-webkit-transform:..._ios h5 卡

numpy.random.seed, torch.manual_seed使用_args.seed % 2**32-程序员宅基地

文章浏览阅读1.1k次。numpy.random.seed, torch.manual_seed使用_args.seed % 2**32

把android assets文件夹内的文件存储到sd卡中_android 将assert文件写入sd卡中-程序员宅基地

文章浏览阅读1.1k次。原文:http://mobile.51cto.com/aprogram-387591.htm/**_android 将assert文件写入sd卡中

Android---动画机制(二)---属性动画_android 属性动画 缩放代码-程序员宅基地

文章浏览阅读434次。属性动画是3.0推出的新特性,和View动画不同,他对对象进行了扩展,属性动画可以对任何对象做动画.在Animator框架中使用最多的就是AnimatorSet和ObjectAnimator配合,使用ObjectAnimator进行更精细化控制,只控制一个对象的属性值,使用多个ObjectAnimator组合到AnimatorSet中形成一个动画. 在这里说明,动画默认的时间间隔是300ms,默认_android 属性动画 缩放代码

推荐文章

热门文章

相关标签