再识C语言(基础篇)

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

字符串👏

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


就像"hello bit .\n",这种由双引号引起的一串字符叫做字符串字面值,就是字符串。但其中还有一些微妙的东西我不曾知道。当我运行一个字符数组时,断点调试打开监视,发现了传说中“看不见的\0”, 即\0是字符串的结束标志,在结尾位置隐藏了一个\0的字符,如下:

image.png

再求一下字符串的长度,用strlen函数计算"hello bit"长度,不难发现长度为9,说明咱的\0只是一个标志,不参与长度计算。strlen函数使用时记得引用<string.h>头文件,我是在这个报错这里卡了一下。

image.png

接下来又设置了两个字符串组做对比,证明\0的存在,我在arr3中撇开了\0因此打印时未遇到结束标志,内存中自动生成了乱码(随机值)以填补空缺。

image.png

转义字符👏

看看转义字符,就是转变了原来的意思,比如我输入一段字符“c:\ test \ test.c”,将它打印出来,发现不会输出一模一样的文本。

image.png

这里的\t不再是一个\字符和一个t字符的组合,他就是一个转义字符了——水平制表。其实还有更有意思的三字母词,“ ??)”会被解析成 " ] ",vs2019不支持这种三字母词于是无法打印。那如果我就想完整打印开始的c:\code\test.c\n呢?可以直接在\test前加上\即可。


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


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

image.png

image.png


相关文章
|
3天前
|
云安全 人工智能 算法
以“AI对抗AI”,阿里云验证码进入2.0时代
三层立体防护,用大模型打赢人机攻防战
1307 3
|
3天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
632 3
|
4天前
|
人工智能 Rust 运维
这个神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
加我进AI讨论学习群,公众号右下角“联系方式”文末有老金的 开源知识库地址·全免费
|
11天前
|
编解码 人工智能 自然语言处理
⚽阿里云百炼通义万相 2.6 视频生成玩法手册
通义万相Wan 2.6是全球首个支持角色扮演的AI视频生成模型,可基于参考视频形象与音色生成多角色合拍、多镜头叙事的15秒长视频,实现声画同步、智能分镜,适用于影视创作、营销展示等场景。
743 5
|
7天前
|
物联网 API UED
Qwen-Image-Edit-2511来啦!角色一致性再提升,LoRA能力内置
Qwen-Image-Edit-2511发布!提升角色与多人合照一致性,集成Lora打光、新视角生成,增强工业设计与几何推理能力。已开源,支持魔搭、QwenChat免费体验,本地部署可获最佳效果。
448 3