大括号块作用域的起源是什么?为什么整型数值用补码保存?char类型变量是存储为int类型大小吗?枚举为什么被当做整型?编程语言标识符为什么不能以数字开头?
大括号块作用域的起源是什么?
BCPL语言是第一个使用大括号{ }作为块作用域的语言。B语言、C语言都沿用它,它比Pascal采用的BEGIN/END更简洁。
为什么整型数值用补码保存?
补码简化了硬件电路设计,具体表现如下:
- 减法也可以表示为加法。
- 不需要额外保存符号位,默认在最高位,1代表负数,0代表正数。
char类型变量是存储为int类型大小吗?
不对,char类型变量是在使用时被自动转换成整型,但它本身依然按char类型大小保存。int类型一般作为MCU最直接的处理大小单元,char类型变量自然也会当"int类型"处理。
枚举为什么被当做整型?
C/C++/ObjC会把枚举当成一种整型,这是简化编译器和程序员的一种方式。最新的C++标准强化了枚举类型,枚举和整型转换需要遵循特定规则。
编程语言标识符为什么不能以数字开头?
一个普世原则,数字开头的Token代表数值,不管是十进制、八进制还是十六进制(0x开头)。当然,不以数字开头就被认为是普通标识符。这种简单的约定,方便了编译器词法分析的难度,程序员也很容易理解。
若文章对您有帮助,欢迎关注。助您在编程路上越走越好!
微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。
我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。