C 语言标准

文章目录

K&R C

K&R C 也叫 经典 C, 以《The C Programming Language》【Brain Kernighan, Dennis Ritchie】(1987) (第1版) 作为 C 的标准, 取两个作者的姓的第一个字母称为 K&R 标准. 书的附录中定义了 C 语言, 未定义 C 库, 以 UNIX 实现提供的库作为标准库.

C89

C89 即 ANSI C, 由 ANSI (美国国家标准局, American National Standards Institute) 制定并批准, 于 1989 年正式公布.

后来 ANSI 把这个标准提交到 ISO (国际化标准组织, International Organization for Standardization), 1990 年被 ISO 采纳为国际标准, 称为 ISO C. 又因为这个版本是 1990 年发布的, 因此也被称为 C90.

ANSI C (C89) 与 ISO C (C90) 内容基本相同, 主要是格式组织不一样.

ANSI C, ISO C, C89, C90, ANSI/ISO C, C89/90 这些称谓都是一样的, 都指的是同一个标准.

这个标准定义了 C 语言和 C 标准库.

目前常用的编译器都支持 ANSI C 的内容.

C99

1994 年 C 程序设计语言工作组对 C 语言进行了一些修改, 增加了新的关键字, 编写了新的库, 取消了原有的限制, 并于 1999 年形成新的标准 —— ISO/IEC 9899:1999 标准, 通常被称为 C99.

GCC 支持 C99, 微软的编译器只支持部分 C99 的特性.

ANSI C 规定, 局部变量要在块的开头定义, 而 C99 取消了这个限制, 变量可以在使用该变量之前的任意位置定义.

C11

C11 标准由国际标准化组织 (ISO) 和国际电工委员会 (IEC) 旗下的 C 语言标准委员会于 2011 年底正式发布.

支持 C11 标准的编译器有 GCC, LLVM/Clang, Intel C++ Compile 等.

微软的编译器不支持 C11.

C11 标准主要增加了以下内容:

  • 增加了安全函数, 例如 gets_s()、fopen_s() 等;

  • 增加了头文件以支持多线程;

  • 增加了头文件以支持 Unicode 字符集;

  • 以及其它一些细节.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值