C 关键字由 C 编译器预定义,在 C89 中为小写。既然只有 32 个,为什么不能将它们定义为不区分大小写呢?
最佳答案
因为C是区分大小写的,而这些是关键字。使它们不区分大小写会使编译器变慢,但真正的原因是它的定义方式。
上世纪 60 年代,人们对字母大小写进行了大量实验。一段时间,BCPL reserved lowercase words as system keywords为了与用户名区分开来,用户名必须是大写或单字母小写。但后来他们切换到大写(后来又切换回小写),并且 whether it was case sensitive depended on the compiler 。 FORTRAN/Fortran 也是如此,通常根本不区分大小写,但是 sometimes is in wildly complicated ways .
因此,当我说“它会使编译器变慢”时,我的意思并不是“因为它是一种较旧的语言,并且处理器时间更宝贵”。大多数现代语言都区分大小写。许多较旧的语言在其历史和实现中都具有不同程度的大小写敏感性。但从根本上来说,区分大小写对于计算机来说更简单。这就是大多数 Unix 的设计方式,而 C(最初是 B)是 built to be the system language for Unix 。但同样,这只是一个 particular design decision in Unix ,而不是一些“一定是这样”的深刻选择。
但所有这些都只是闲聊和反证答案。答案是:因为 C 就是这样定义的。
关于c - 为什么 C 关键字区分大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41209377/