C都有哪些标准?都有哪些主要变化?

来源:互联网 发布:mac os 不能升级 编辑:程序博客网 时间:2024/04/28 13:08
编程前先查一下编译器都支持哪些标准?

1?C的标准化过程

C语言自诞生到现在,期间经历了多次标准化过程,主要分成以下几个阶段:

1.1?Traditional?C
此时的C语言还没有标准化,来自“C Programming Language, First Edition, by Brian W. Kernighan, Dennis M. Ritchie. Prentice Hall PTR 1978”的C描述可算作“正式”的标准,所以此时的C也称为“K&R”C。 
期间C语言一直不断的发生细微的变化,各编译器厂商也有自己的扩展,这个过程一直持续到20世纪80年代末。
1.2 C89
考虑到标准化的重要,ANSI(American National Standards Institute)制定了第一个C标准,在1989年被正式采用(American National Standard X3.159-1989),故称为C89,也称为ANSI C。 
该标准随后被ISO采纳,成为国际标准(ISO/IEC 9899:1990)。
C89的主要改动:
 ? 定义了C
标准库; 
 
? 新的预处理命令和特性; 
 ? 函数原型(prototype); 
 
? 新关键字:const、volatile、signed; 
 ? 宽字符、宽字符串和多字节字符; 
 
? 转化规则、声明(declaration)、类型检查的改变。
1.3?C95?
这是对C89的一个修订和扩充,称为“C89 with Amendment 1”或C95,严格说来并不是一个真正的标准。
 
C95的主要改动:
 
? 3
个新标准头文件:iso646.h、wctype.h、wchar.h; 
 
? 一些新的标记(token)和宏(macro); 
 ? 一些新的printf/scanf系列函数的格式符; 
 
? 增加了大量的宽字符和多字节字符函数、常数和类型。
?
1.4 C99
  这是目前最新的标准,由ISO制定于1999年(ISO/IEC 9899:1999),故称为C99。 
C99的主要改动:
 
? 复数(complex); 
 ? 整数(integer)类型扩展; 
 ? 变长数组; 
 ? Boolean
类型; 
 
? 非英语字符集的更好支持;
 ? 浮点类型的更好支持; 
 ? 提供全部类型的数学函数; 
 ? C++风格注释(//)。
2 C标准文档

2.1 C99
    这是一个pdf文件:c99.pdf。 
2.2 C89 
    C99已经替代C89成为标准,所以C89文档已经很难找了。
0 0
原创粉丝点击