运维开发网

为什么C有这些奇怪的翻译限制(第2.2.4.1节)?

运维开发网 https://www.qedev.com 2020-03-12 18:39 出处:网络 作者:运维开发网整理
前几天我只是浏览C标准,关于翻译限制的章节让我感到难过.为什么有些翻译限制2 ^ n,其他2 ^ n 1和其他2 ^ n-k(对于一些小k)? 这里只是一些例子: > 15个复合语句的嵌套级别,迭代控制 结构和选择控制结构 > 31个声明符由完整声明符中的括号嵌套 > 32个表达式由完整表达式中的括号嵌套 >内部标识符中的31个重要初始字符或a 宏名称 >一个翻译单元中的511个外部标识符 >逻辑
前几天我只是浏览C标准,关于翻译限制的章节让我感到难过.为什么有些翻译限制2 ^ n,其他2 ^ n 1和其他2 ^ n-k(对于一些小k)?

这里只是一些例子:

> 15个复合语句的嵌套级别,迭代控制

结构和选择控制结构

> 31个声明符由完整声明符中的括号嵌套

> 32个表达式由完整表达式中的括号嵌套

>内部标识符中的31个重要初始字符或a

宏名称

>一个翻译单元中的511个外部标识符

>逻辑源行中的509个字符

> switch语句的257个案例标签(不包括任何一个

嵌套切换语句)

为什么不是一切都只是两个人的力量?

Why isn’t everything simply a power of two?

对我来说,一旦你添加回车和换行,它们中的大多数看起来像2n – 1,甚至是行长.

顺便提一下,这些是最低限度.允许编译器超过它们.

0

精彩评论

暂无评论...
验证码 换一张
取 消