C语言标准ISO/IEC 9899:1999英文PDF
需积分: 16 42 浏览量
更新于2024-07-23
收藏 1.54MB PDF 举报
"C99标准PDF是C语言的第二版国际标准,由ISO(国际标准化组织)和IEC(国际电工委员会)联合发布,于1999年12月1日生效。这个英文版的标准旨在提升读者的文档阅读能力。C99标准对C语言进行了重要的扩展和改进,引入了新的特性,例如类型安全、变量长度数组(VLA)、复数类型、 inline函数、_restrict关键字等。该标准还规定了更严格的类型系统和错误处理机制,增强了程序的可移植性和可靠性。C99标准是美国国家标准学会(ANSI)批准的美国国家标准,并由信息技术产业理事会(ITI)出版和拥有版权。未经许可,不得复制或销售此标准,任何关于此标准的请求应提交给ITI。"
C99标准是C语言发展的一个里程碑,它在C89的基础上做了许多更新和增强。以下是一些关键的C99特性:
1. 变量长度数组(VLA):C99允许在运行时声明数组的大小,使得数组的尺寸可以根据输入或计算结果动态确定。
2. 复数类型:C99引入了复数数学的支持,如`complex float`, `complex double`等类型,可以进行复数运算。
3. _restrict关键字:此关键字用于告诉编译器某些变量不会通过隐式指针间接访问,从而帮助优化代码。
4. 内联函数(inline):内联函数是一种避免函数调用开销的方式,C99将内联功能正式引入标准,让编译器可以选择性地优化函数调用。
5. 预定义宏:C99提供了一些预定义宏,如`__DATE__`, `__TIME__`, `__func__`等,用于获取编译日期、时间以及当前函数名。
6. 更强的类型检查:C99对类型转换和类型安全做了加强,例如强制类型转换需要显式指定目标类型,减少类型错误。
7. 新的数据类型:为了更好的数值精度和对硬件的利用,C99添加了`stdint.h`头文件,定义了如`int8_t`, `uint32_t`等固定宽度的整数类型。
8. 多行字符串字面量:C99允许使用`"`连接多个字符串,形成一个长的多行字符串。
9. 嵌套的函数定义:虽然不是所有实现都支持,但C99标准允许在函数内部定义其他函数。
10. 包含文件的诊断:`#include`指令现在可以提供关于包含文件位置的信息,有助于调试和理解源码结构。
这些特性不仅提高了C语言的灵活性,还增加了程序的健壮性和效率。学习和理解C99标准对于深入理解和编写高质量的C语言代码至关重要。
765 浏览量
2012-12-29 上传
2023-10-25 上传
2023-06-28 上传
2023-08-23 上传
2023-06-09 上传
2023-08-07 上传
2023-07-03 上传
2023-05-08 上传
独自存货
- 粉丝: 0
- 资源: 1
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展