restrict关键字
restrict解决的问题是潜在别名阻止了优化。如果翻译器不能确定两个不同的指针指向的是不同的对象,那么它就不能应用某些优化,例如它不能把对象的值放在寄存器中,而是放在内存中,也不能重新安排这两个指针装载和存...
声明和定义
分散在多个编译单元中的同名对象哪些当做声明,哪些当做定义,在C89之前有4种实现,以下按照限制越来越严格给出: Common 不管声明中是否有extern,对象都当成外...
块作用域的extern声明
在块作用域内部用extern引入外部声明,则该声明仅在该块作用域内部有效还是在文件作用域有效K&R没有清晰规定,所以两种实现都有。...
三字符序列
ISO使用3个技术名词来描述字符集:repertorie、collating sequence、codeset。repertorie是不同的可打印字符的集合。该词抽象了不同样式的相同字符,例如字符R有很多种字体,但都是字符R。collating sequence对应于...
C的精神
在制定标准时,C89委员会关注下列几个原则,这些原则直到今天还在指导我们考虑问题。最重要的几个原则如下: 现存代码很重要,而现存的C编译器实现并不重要...