ISO/IEC 9899:1999(E) C语言标准文档
需积分: 9 113 浏览量
更新于2024-09-30
收藏 1.5MB PDF 举报
"C99标准,全称为ISO/IEC 9899:1999(E),是C语言的第二个正式国际标准,于1999年12月1日发布。这个标准由国际标准化组织(ISO)和国际电工委员会(IEC)共同制定,并由美国国家标准协会(ANSI)批准成为美国国家标准。C99标准对1989年的C89标准进行了更新和扩展,引入了新的特性,旨在提高编程效率、增强类型安全性和支持可移植性。
C99标准的关键新特性包括:
1. **复数和浮点常量**:C99引入了复数类型(`complex float`, `complex double`, `complex long double`)以及用后缀`_Imaginary`表示的纯虚数。同时,允许浮点常量以`f`或`F`后缀表示`float`,以`l`或`L`后缀表示`long double`。
2. **变量声明的位置**:C99允许在函数体内的任何位置声明变量,而不仅仅是块的开头。
3. **类型安全的指针算术**:对于数组指针,C99明确了指针算术的安全边界,防止了越界访问。
4. **VLA(可变长度数组)**:C99允许在函数声明或定义时声明数组的长度可以根据运行时的表达式来确定,提高了代码的灵活性。
5. **`_Bool`类型**:引入了布尔类型`_Bool`,它是布尔逻辑的基础,可以存储`true`或`false`值。
6. **`inline`关键字**:C99引入了`inline`关键字,用于请求编译器尝试内联函数,以提高代码执行速度。
7. **`restrict`关键字**:此关键字用于告知编译器某些指针不会通过其他途径访问同一内存,从而帮助优化代码。
8. **`_Static_assert`**:C99引入了静态断言,可以在编译时检查条件,确保程序在编译阶段就能发现错误。
9. **头文件的变更**:一些标准库头文件被重命名或重新组织,以减少名字冲突和改进模块化。
10. **预处理器宏改进**:增加了`__func__`预定义宏,它在编译时自动填充当前函数的名称。
C99标准的实施促进了C语言的发展,使得程序员可以编写更高效、更安全的代码。然而,值得注意的是,不是所有的C编译器都完全支持C99的所有特性,尤其是在嵌入式系统和一些老旧的编译器中。尽管如此,C99仍然是现代C编程的重要参考标准,其影响力持续至今。更多关于C99标准的信息可以通过相关书籍、在线文档或访问www.fishc.com等资源获取。"
2007-08-03 上传
115 浏览量
174 浏览量
2007-08-03 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
lslxdx
- 粉丝: 55
- 资源: 18
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常