C C C语言标准
K & R K&R K&R C 89 C89 C89 C 99 C99 C99 C 11 C11 C11
C C C语言标准 K & R K&R K&RK & R C K&Rquad C K&RC也叫经典 C C C, 以 《 T h e C P r o g r a m m i n g L a n g u a g e 》 【 B r a i n K e r n i g h a n , D e n n i s R i t c h i e 】 《Thequad Cquad Programmingquad Language》【Brainquad Kernighan,quad Dennisquad Ritchie】 《TheCProgrammingLanguage》【BrainKernighan,DennisRitchie】(第1版)作为 C C C的标准. 书的附录中定义了 C C C语言, 未定义 C C C库, 以 U N I X UNIX UNIX实现提供的库作为标准库.
C 89 C89 C89C 89 C89 C89即 A N S I C ANSI C ANSIC, 由美国国家标准局 ( A m e r i c a n N a t i o n a l S t a n d a r d s I n s t i t u t e , 简称 A N S I ) (Americanquad Nationalquad Standardsquad Institute, text{简称} ANSI) (AmericanNationalStandardsInstitute,简称ANSI)制定并批准.
后来 A N S I ANSI ANSI把这个标准提交到 I S O ISO ISO ( 国际化标准组织 , I n t e r n a t i o n a l O r g a n i z a t i o n f o r S t a n d a r d i z a t i o n ) (text{国际化标准组织}, Internationalquad Organizationquad forquad Standardization) (国际化标准组织,InternationalOrganizationforStandardization), 1990年被 I S O ISO ISO采纳为国际标准, 称为 I S O C ISOquad C ISOC. 又因为这个版本是1990年发布的, 因此也被称为 C 90 C90 C90.
A N S I C ( C 89 ) 与 I S O C ( C 90 ) ANSIquad C(C89)text{与} ISOquad C(C90) ANSIC(C89)与ISOC(C90)内容基本相同, 主要是格式组织不一样.
A N S I C 、 I S O C 、 C 89 、 C 90 、 A N S I / I S O C 、 C 89 / 90 ANSIquad C、ISOquad C、C89、C90、ANSI / ISOquad C、C89/90 ANSIC、ISOC、C89、C90、ANSI/ISOC、C89/90这些称谓都是一样的.
这个标准定义了 C C C语言和 C C C标准库.
目前常用的编译器都能很好地支持 A N S I C ANSIquad C ANSIC的内容.
C 99 C99 C991995年 C C C程序设计语言工作组对 C C C语言进行了一些修改, 增加了新的关键字, 编写了新的库, 取消了原有的限制, 并于1999年形成新的标准—— I S O / I E C 9899 : 1999 ISO/IEC 9899:1999 ISO/IEC9899:1999标准, 通常被称为 C 99 C99 C99.
G C C GCC GCC支持 C 99 C99 C99, 微软的编译器不完全支持.
A N S I C ANSIquad C ANSIC规定, 局部变量要在函数开头定义, 而 C 99 C99 C99取消了这个限制, 变量可以在任意位置定义.
C 11 C11 C11C 11 C11 C11标准由国际标准化组织 ( I S O ) (ISO) (ISO)和国际电工委员会 ( I E C ) (IEC) (IEC)旗下的 C C C语言标准委员会于2011年底正式发布.
支持此标准的主流 C C C语言编译器有 G C C 、 L L V M / C l a n g 、 I n t e l C + + C o m p i l e GCC、LLVM/Clang、Intel C++ Compile GCC、LLVM/Clang、IntelC++Compile等.
微软的编译器不支持 C 11 C11 C11.
C
11
C11
C11标准主要增加了以下内容:
增加了安全函数, 例如
g
e
t
s
_
s
(
)
、
f
o
p
e
n
_
s
(
)
gets_s()、fopen_s()
gets_s()、fopen_s()等;
增加了 头文件以支持多线程;
增加了 头文件以支持
U
n
i
c
o
d
e
Unicode
Unicode字符集;
以及其它一些细节.



