特殊符号的补充理解

简介: 正片开始👀因为之前就写过关键字和操作符专题了,可能各位已经烂熟于心了,但某些细节方面我还是想拿出来讲一下,我们比较陌生的概念等等。

正片开始👀

因为之前就写过关键字和操作符专题了,可能各位已经烂熟于心了,但某些细节方面我还是想拿出来讲一下,我们比较陌生的概念等等。

续接符👏

反斜杠"",他有两种最常见的功能,一就是续航功能,二就是我们提到反斜杠就会很敏感的转义字符。

image.png

这里反斜线就起到了一个连接上下两行的代码,在咱看来是独立的三行但在编译器眼里这仨货就是在同一排。设想一下当我的条件足够多时为了提高代码可读性,我们最好不挤在一排看着又臭又长,分占会显得更加清新,所在大的工程文件里面我们经常会使用续航符号来操作我们代码的美观。


注意:续航符在使用时要注意空格,续航符之前的空格是不存在影响的,但如果放在后面就不能编译。


旋转光标

由我们系统方面的知识和C语言关键字基础,我们就能搞出来一个我们常见的旋转光标:

int main()
{
int a = 0;
const char *spot = "|/-\\";
while(1)
{
printf("[%c]\n",spot[a]);
a++;
Sleep(300);
}
}

image.png

单双引号潜规则👏

char a= 'abc';
printf("%c\n",a);

image.png

一个问题,我们脑海里学习的知识告诉我们char类型是一个字符,但上面代码不仅不报错还能完完全全打印出来,我把内容换成 ‘abcd’ 依然能打印出一个 d ,再加一个 e 时就会开始报错了,我们就针对这个打印 ‘abc’ 的现象来看看

我们直接对比一下他的字符长度:

image.png

擦嘞,为啥 ‘1’ 会是4个字节大小?其实在C99中,这里的 a 叫做整型字符常量,本质上是被编译器看作int类型,所以其实就是在发生着一个截断现象,我们对 char 类型的认知并没有毛病,只是这里一直是在将4个字节的数据保存进一个 char 类型里面。


当然,这种认知也只是存在与C语言里,在C艹中仍然是被解释成一个字节,这也能解释为什么咱四个字节以内都能跑。


短路👏

很简单,说的就是一个逻辑与 (&&),含义就是一个条件不通过就不需要再看后续的条件的情况就是短路。


ASCII码刚需👏

为什么咱计算机要搞这么多花里胡哨的符号呢?内存里存的都是二进制数据,即0和1的一串序列,这时所谓的计算机语言,但作为一个person来讲,咱最擅长的不是看0和1,是我们能直观理解的语句。


我们的计算器程序,在计算结果后如果返回的不是十进制数而是一个二进制序列是对我们极为不友好的,特别是不熟悉二进制的普通用户。所以程序会存在一个映射,这个映射机制就是给一个二进制序列安排一个人为设计的符号或图形,比如我屏幕上一个“1234”,在我们眼中它是一个整型1234,但在计算机眼里它就是四个字符。


所以为什么我们手机啥的能更换语言系统,英文,简体中文,繁体中文……,其本质原理就是改了一张映射表。


相关文章
|
Shell 分布式数据库
shell脚本中if判断‘-a‘ - ‘-z‘含义
shell脚本中if判断‘-a‘ - ‘-z‘含义
365 0
|
测试技术
详解单元测试问题之Mockito中@Mock注解的执行步骤如何解决
详解单元测试问题之Mockito中@Mock注解的执行步骤如何解决
332 2
|
11月前
|
运维 监控 安全
IDS 和 IPS 日志监控的重要性
本文介绍了入侵检测系统(IDS)与入侵防御系统(IPS)在企业网络安全中的重要作用及区别。IDS通过监控网络流量、识别异常活动并生成警报,采用异常检测和签名检测等方法保障安全;而IPS作为自动化设备,主动分析流量并阻止恶意攻击,同时重新配置防火墙以增强防护能力。两者协同工作可实时抵御威胁,并通过日志记录和分析优化安全策略。此外,卓豪EventLog Analyzer能有效监控和分析IDS/IPS日志,助力企业精准识别复杂威胁,提升整体网络安全水平。
258 0
|
IDE 开发工具 git
git如何解决冲突|4-19
git如何解决冲突|4-19
|
数据安全/隐私保护 Python
如何使用Python自动发送邮件?
如何使用Python自动发送邮件?
500 1
|
存储 运维 安全
导论|数据可信流通 从运维信任到技术信任
《数据二十条》提出建立数据可信流通体系,强调全流程合规与监管,确保数据来源合法、隐私保护和交易规范。数据已成为数字经济的关键要素,但面临身份确认、利益依赖、能力预期和行为后果的信任挑战。安全事件暴露了所有权保障和越权使用风险,外循环模式下责任主体不清、利益不一致等问题突显。为解决信任问题,需从运维信任转向技术信任,利用密码学和可信计算实现身份确认、利益对齐、能力预期和行为审计。关键技术包括可信数字身份验证、使用权跨域管控、安全分级测评和全链路审计。数据密态时代借助密码学保障数据全生命周期的安全可控,降低流通风险,实现广域数据的可信流通。基础设施如密态天空计算将支持这一转型。
376 0
|
Linux Shell C语言
linux下configure,make(makefile),cmake命令详解-makefile和CMakeList
linux下configure,make(makefile),cmake命令详解-makefile和CMakeList
|
编译器 芯片
PROTEUS仿真软件的使用及存储器的设计
PROTEUS仿真软件的使用及存储器的设计
614 0
|
人工智能 算法 PyTorch
YOLO的版本及进阶历史
YOLO的版本及进阶历史
|
Linux 测试技术 Android开发
测试程序之UART 232/485适用于Android/Linux
测试程序之UART 232/485适用于Android/Linux
532 0