0和1怎么做 0和1表示的含义是什么网络用语
0和1怎么做 0和1表示的含义是什么网络用语
前言
在C语言中,我们有时候看到NULL,有时候也看到\0,那它们之间有什么区别呢?
本质
本质来说,NULL,0,\0都是一样的,都是值0。是的,你没有听错。说到这本文差不多应该结束了。不过为了不被打,还是继续说一说。它们虽然值都是0,但是含义却是不一样的。
NULL
虽然值是0,但是它的含义不一样,或者说它的类型不一样。NULL是指针类型,不过它是空指针,即值为0。
//来源:公众号【编程珠玑】 博客:https://www.yanbinghu.com //null.c #include
我们编译它:
$ gcc -o null null.c null.c: In function ‘main’: null.c:14:10: warning: initialization makes integer from pointer without a cast [-Wint-conversion] int a = NULL; ^它给了我们一个警告,提示尝试将指针转换为整数。这也就正验证了我们前面的说法。
实际上NULL通常是如下定义:
#define NULL (void*)0所以,如果要给一个指针类型初始化,那么你给它一个NULL,使得能够明显的看到这是一个指正。
当然,在C++中,你更应该使用nullptr,而不是NULL。
\0
我们都知道\是转义符,用单引号包起来,再加转义,实际上就是0,只不过它表示的是字符。就向下面这样:
//来源:公众号【编程珠玑】 博客:https://www.yanbinghu.com //nul.c #include编译运行:
$ 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;>微信公众号【编程珠玑】:专注但不限于分享计算机编程基础,Linux,C语言,C++,数据结构与算法,工具,资源等编程相关[原创]技术文章。
原文地址:
https://www.yanbinghu.com/2019/09/19/18180.html“0”
用双引号包裹的0是字符串,我们看不到的是它结尾还有一个’\0‘
#include运行结果:
sizeof str is 2,string len is 1“\0”
这也是字符串,只不过是两个空字符。使用strlen计算字符串长度为0。
” “
字符串。字符串长度为1,占用空间2字节,是一个空格加空字符。
总结
到这里你应该明白了,它们的值可能一样,但赋予的含义却不一样,为了代码良好的可读性,你应该在恰当的时候使用合适的值。
关注公众号【编程珠玑】,第一时间获取更多原创技术文章
-
- 普洱茶生茶和熟茶哪个好?多了解,不吃亏
-
2024-01-24 02:13:51
-
- 长沙市新增一所本科大学
-
2024-01-24 02:11:46
-
- 布洛芬火了,专家提醒:不必一发烧就吃退烧药 布洛芬发烧药吗
-
2024-01-24 02:09:41
-
- b族维生素可以治什么病 b族维生素可以治疗什么
-
2024-01-24 02:07:37
-
- 皮肤总是痒痒的怎么办 皮肤总是痒是什么病
-
2024-01-24 02:05:32
-
- 国内检出多例XBB.1.16 有结膜炎症状,眼药水要买哪种呢?
-
2024-01-24 02:03:27
-
- 宾馆标题 酒店题字一般写什么比较好
-
2024-01-24 02:01:22
-
- 贵州冬季气候特点是什么 贵州的冬季多少度
-
2024-01-24 01:59:17
-
- 中考为何不允许复读?除了电子学籍卡的限制,你还知道哪些原因?
-
2024-01-24 01:57:12
-
- 笔记本电脑与平板电脑区别(上大学笔记本和平板哪个实用)
-
2024-01-23 17:54:04
-
- 今日92油价多少钱一升(今日92油价多少钱一升最新消息)
-
2024-01-23 17:51:59
-
- 不知道快递单号只知道手机号码怎么查快递(不知道快递单号只知道手机号码怎么
-
2024-01-23 17:49:54
-
- 安装光伏板多少钱一平方米(安装光伏板多少钱一平方米人工费)
-
2024-01-23 17:47:49
-
- 秦统一全国后统一的货币(秦统一全国后统一的货币名称)
-
2024-01-23 17:45:44
-
- 得物和识货哪个更保真(得物和识货哪个更保真一点)
-
2024-01-23 17:43:40
-
- hd在哪里关掉(hd去哪里关闭)
-
2024-01-23 17:41:35
-
- 108将排名(108将排名及绰号)
-
2024-01-23 17:39:30
-
- 两个五角星的车标是什么车(四角星的车标是什么牌子)
-
2024-01-23 17:37:25
-
- 笔记本买r5还是i5(惠普笔记本买r5还是i5)
-
2024-01-23 17:35:20
-
- 菲律宾巧克力山(菲律宾巧克力山最佳时间)
-
2024-01-23 06:47:10