你知道第一个C语言C++编译器是如何诞生的吗( 五 )
下面是 C99 的关键字:
仔细看看 , 其实其中有很多关键字是为了帮助编译器进行优化的 , 还有一些是用来限定变量、函数的作用域、链接性或者生存周期(函数没有)的 , 这些在编译器实现的早期根本不必加上 , 于是可以去掉 auto restrict extern volatile const sizeof static inline register typedef , 这样就形成了 C 的子集 , C3 语言 , C3 语言的关键字如下:
再想一想 , 发现 C3 中其实有很多类型和类型修饰符是没有必要一次性都加上去的 , 比如三种整型 , 只要实现 int 就行了 , 因此进一步去掉这些关键词 , 它们是:unsigned float short char(char 是 int) signed _Bool _Complex _Imaginary long , 这样就形成了我们的C2语言 , C2 语言关键字如下:
继续思考 , 即使是只有 18 个关键字的 C2 语言 , 依然有很多高级的地方 , 比如基于基本数据类型的复合数据结构 , 另外我们的关键字表中是没有写运算符的 , 在 C 语言中的复合赋值运算符 ->、运算符的 ++、–– 等过于灵活的表达方式此时也可以完全删除掉 , 因此可以去掉的关键字有:enum struct union , 这样我们可以得到 C1 语言的关键字:
推荐阅读
- |传世群英版你那些你不知道的魅力
- 手机游戏|LOL手游第一个世界赛,破晓杯火热开战,DKG能紧随EDG夺冠吗?
- 微软|微软Xbox 20周岁了,但这些密辛你未必知道
- 剑三|同为老五门,却势如水火!剑三奶花与天策的恩怨只有老玩家才知道
- 提莫|不看不知道,一看居然有点搞笑,原来女警的二技能名字是用来抓提莫的!!!!
- 热血传奇|热血传奇:神豪般的财力到底是何方神圣,你知道吗?
- 游戏推荐|11月游戏推荐,每年的游戏黄金月份,你还在不知道玩什么吗?
- 暗黑破坏神|暗黑2重制版你知道角色最高能获得多少技能点么?
- edg战队|“Viper不会离开EDG”,经纪人怒斥:我都不知道,你们就知道了?Nuguri不会加入DK
- |MT 正在让游戏本地化质量变得更差?