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年代末。
?
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)。
该标准随后被ISO采纳,成为国际标准(ISO/IEC 9899:1990)。
C89的主要改动:
? 定义了C
标准库;
? 新的预处理命令和特性;
? 函数原型(prototype);
? 新关键字:const、volatile、signed;
? 宽字符、宽字符串和多字节字符;
? 转化规则、声明(declaration)、类型检查的改变。
标准库;
? 新的预处理命令和特性;
? 函数原型(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++风格注释(//)。
C99的主要改动:
? 复数(complex);
? 整数(integer)类型扩展;
? 变长数组;
? Boolean
类型;
? 非英语字符集的更好支持;
? 浮点类型的更好支持;
? 提供全部类型的数学函数;
? C++风格注释(//)。
2 C标准文档
2.1 C99
这是一个pdf文件:c99.pdf。
2.2 C89
C99已经替代C89成为标准,所以C89文档已经很难找了。
2.2 C89
C99已经替代C89成为标准,所以C89文档已经很难找了。
0 0
- C都有哪些标准?都有哪些主要变化?
- C都有哪些标准?都有哪些主要变化?
- CPU是什么?都有哪些标准?
- 都有哪些问题?
- WEB.xml主要配置有哪些,,都有什么含义
- 从MIUI 1到MIUI 8 都有哪些变化?
- Servlet都有哪些方法?主要作用是什么?
- eclipse都有哪些插件?
- 网站都有哪些类型
- 清明节都有哪些活动?
- Topic Model 都有哪些
- 程序员都有哪些作用
- Android 传感器 都有哪些?
- 目前数据库都有哪些?
- iphone都有哪些版本
- 都有哪些儿日志
- 网络协议都有哪些
- Topic Model 都有哪些
- winscp连接linux时提示连接失败OOPS:cannot change directory:/home/....什么的原因以及解决方案
- Session management
- 【11月22日】听说下雪了!--ICATCLAS分词系统使用初探
- 97. Interleaving String
- Wormholes(SPFA)
- C都有哪些标准?都有哪些主要变化?
- 虚拟机系统上不了网怎么办
- Lambda表达式(Java 8)详解
- 星空璀璨,时光流逝,分享技术,记录生活——2016年11月22日
- 面向对象之设计模式
- poj-3468-线段树,区间更新
- mybatis关系映射之一对多和多对一
- C语言中,malloc和free深入理解
- LeetCode 122. Best Time to Buy and Sell Stock II