再识C语言(基础篇)

传统艺能😎

小编是大一菜鸟不赘述,欢迎大佬指点江山(QQ:1319365055)
此前博客点我!点我!请搜索博主 【知晓天空之蓝】或扫码进入!
在这里插入图片描述

(https://blog.51cto.com)感谢支持!

过渡区👀

现在是北京时间8:06,去操场小跑一下完了硬是被破防整感冒了,得亏上午一二节无课,卷完博客真的就要躺平咯。
在这里插入图片描述
在这里插入图片描述

正片开始

字符串👏

刚看到字符串时,我的第一印象就是一串字符,结果证明我是对的。

就像"hello bit .\n",这种由双引号引起的一串字符叫做字符串字面值,就是字符串。但其中还有一些微妙的东西我不曾知道。当我运行一个字符数组时,断点调试打开监视,发现了传说中“看不见的\0”, 即\0是字符串的结束标志,在结尾位置隐藏了一个\0的字符,如下:
在这里入图片描述
再求一下字符串的长度,用strlen函数计算"hello bit"长度,不难发现长度为9,说明咱的\0只是一个标志,不参与长度计算。strlen函数使用时记得引用<string.h>头文件,我是在这个报错这里卡了一下。
在这里插入图片描述
接下来又设置了两个字符串组做对比,证明\0的存在,我在arr3中撇开了\0因此打印时未遇到结束标志,内存中自动生成了乱码(随机值)以填补空缺。
在这里插入图片描述

转义字符👏

看看转义字符,就是转变了原来的意思,比如我输入一段字符“c:\ test \ test.c”,将它打印出来,发现不会输出一模一样的文本。
在这里插入图片描述
这里的\t不再是一个\字符和一个t字符的组合,他就是一个转义字符了——水平制表。其实还有更有意思的三字母词,“ ??)”会被解析成 " ] ",vs2019不支持这种三字母词于是无法打印。那如果我就想完整打印开始的c:\code\test.c\n呢?可以直接在\test前加上\即可。

那我单独打印一个字符a时这种情况可以执行,那我想打印" ’ “时呢?三个单引号存在时就不是一对单引号里的单引号了而是前面一对单引号+一个单引号。还是用咱”"解决就行。

还有其他的类似\ddd的,由1~3个8进制数组成,比如打印130,结果应该是转变成十进制都88但实际结果是X,这里我们就要引入ASCLL码值;如下(附转义字符表)

在这里插入图片描述

  • 17
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乔乔家的龙龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值