• C语言标准规范版本介绍


    0 Preface/Foreword

    ANSIAmerican National Standards Institute,美国国家标准协会

    ISOInternational Organization for Standardization,国际标准组织

    IECInternational Electrotechnical Commission,国际电工委员会

    IEEEInstitute of Electrical and Electronics Engineers,电气与电子工程师协会,成立于1963年

    1 ANSI C

    ANSI C 标准于1990年颁布(promulgate), 由美国国家标准协会(ANSI)及国际标准化组织(ISO)推出的关于C语言的标准。

    C标准版本历史如下:

    • C89:1983年,美国国家标准协会(ANSI)组成了一个委员会,X3J11,为了创立 C 语言的标准。经过漫长而艰苦的过程,该标准于1989年完成,并在作为ANSI X3.159-1989 "Programming Language C"正式生效。因为这个标准是1989年发布的,所以一般简称C89标准。有些人也把C89标准叫做ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的。
    • C90:在1990年,ANSI C89标准被国际标准化组织(ISO)和国际电工委员会(IEC)采纳为国际标准,名叫ISO/IEC 9899:1990 - Programming languages -- C [2]  ,有些人简称C90标准。因此,C89和C90通常指同一个标准,一般更常用C89这种说法。
    • C99:在2000年3月,国际标准化组织(ISO)和国际电工委员会(IEC)采纳了第二个C语言标准,名叫ISO/IEC 9899:1999 - Programming languages -- C,简称C99标准
    • C11:在2011年12月,国际标准化组织(ISO)和国际电工委员会(IEC)采纳了第三个C语言标准,名叫ISO/IEC 9899:2011 - Information technology -- Programming languages -- C,简称C11标准。它是C程序语言的最新标准。

    1.1 编译器的支持

    ANSI C被几乎所有广泛使用的编译器支持。而且多数C代码是在ANSI C基础上编写。任何仅仅使用标准C并且没有任何硬件依赖假设的代码实际上能保证在任何平台上用遵循C标准的编译器编译成功。如果没有这种预防措施,多数程序只能在一种特定的平台或特定的编译器上编译,例如,使用非标准库,例如图形用户界面库,或者有关编译器或平台特定的特性例如数据类型的确切大小和字节序。

    选择编译

    为了减轻K&R CANSI C标准,__STDC__("standard c")巨集可以被用来将代码分割为ANSI和K&R部分。

    #if __STDC__

    extern int getopt(int,char*const*,constchar*);

    #else

    extern int getopt();

    #endif

    2 K&R C

    C语言程序设计的一种标准,1978年由丹尼斯·里奇(Dennis.Ritchie)创造,Dennis.Ritchie是C语言之父。

    K&R指《The C Programming Language》书的作者Kernighan(柯尼汉)和Ritchie(里奇)二人,该本书也是世界上第一本介绍C语言的书。书中代码的语法并称为K&R C标准。

  • 相关阅读:
    计算机视觉CV领域中多尺度特征的概念
    java计算机毕业设计江西婺源旅游文化推广系统源码+mysql数据库+系统+lw文档+部署
    centos安装和配置masakari(stein版本)
    【存储】cosbench对象存储测试工具
    文件上传漏洞之安恒玄武盾的一些绕过方法技巧
    Linux 权限系统
    什么是低代码(Low-Code)?低代码适用于哪些场景?
    网页转长图插件html2canvas【前端】
    HTML页面的全屏显示及退出全屏案例
    工具类实现导出复杂excel、word
  • 原文地址:https://blog.csdn.net/yanlaifan/article/details/133970793