C语言_C89及C99文档说明



C语言是计算机编程领域中的一种基础且广泛应用的编程语言,其规范经历了多个版本的更新,其中最为人知的两个版本是C89和C99。这两个版本在C语言的标准中扮演了重要的角色,分别代表了C语言在1989年和1999年的正式标准。 C89,也被称为ANSI C或ISO C90,是C语言的第一个官方标准。它由美国国家标准协会(ANSI)在1989年制定,并随后被国际标准化组织(ISO)采纳为国际标准,编号为ISO/IEC 9899:1990。这个版本的C语言规范引入了许多至今仍然被广泛使用的特性,例如结构体和联合体的字面量初始化,以及函数原型的强制要求。C89还明确了预处理器、类型系统、内存管理、输入输出等核心概念,使得C语言的编译器有了统一的行为标准。 C99,全称为ISO/IEC 9899:1999,是对C89的一个重大更新。C99引入了一系列新特性,旨在提高代码的可读性、安全性和效率。这些新特性包括: 1. **复数类型**:C99添加了对复数运算的支持,如`complex float`和`complex double`。 2. **变量长度数组(VLA)**:允许在运行时声明数组的大小,增加了灵活性。 3. **嵌套函数**:函数可以在其他函数内部定义,提高了代码组织的便利性。 4. **三元运算符增强**:可以用于赋值,如`x = (条件) ? a : b;`。 5. **指定初始化**:允许在初始化结构体或数组时指定具体元素的值,而不是从左到右依次初始化。 6. **宽字符和宽字符串**:增加了对Unicode的支持,如`wchar_t`类型和`wcslen()`函数。 7. **`_Bool`类型**:提供了布尔类型的定义,增强了逻辑表达式的清晰度。 8. **`restrict`关键字**:用于指示指针所指的数据不会通过其他指针访问,有助于编译器优化。 9. **`inline`关键字**:建议编译器进行函数内联,减少函数调用开销。 10. **头文件分类**:将头文件分为`<std*>`和`<*>`两类,前者包含标准库,后者为实现特定。 11. **`#include_next`预处理指令**:用于递归查找头文件。 了解C89和C99之间的差异对于编写兼容多版本C编译器的代码至关重要。C89的规范更偏向于传统和简洁,而C99则在功能性和现代编程需求上有所提升。在实际开发中,开发者需要根据项目需求和目标平台选择合适的C语言版本,并确保代码符合相应标准,以保证代码的可移植性和可靠性。 通过阅读《C语言_C89.pdf》和《C语言_C99.pdf》这两份文档,读者可以深入理解这两个版本的C语言标准,掌握它们的核心概念和新特性,从而更好地运用C语言进行程序设计。这些文档通常会详细解释每个新特性的用法、示例代码以及可能的陷阱,是学习和理解C语言标准的重要参考资料。




























- 1

- zhanghongliang.ok2013-01-12最近复习C语言基础,忽然想系统的梳理一下过往的知识。这份资料不错,很详实。对C89和C99的描述很到位
- Jan52014-05-2089是中文的,99是英文的。
- sgzhang01202013-02-06资料不错,不过C89是中文的
- haotian16582013-10-28对理解基础C很有用,谢谢!

- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 无负压(无吸程)自动供水设备产品概述.doc
- 一起打车吧微信小程序客户端.zip
- 中式糕点生产中常见质量问题及改进措施.docx
- 11-细胞外基质-2013.ppt
- 第3章-概预算的编制与管理.ppt
- 微信小程序运行 TensorFlow 的 Demo.zip
- weapp.qrcode.js 在 微信小程序 中,快速生成二维码.zip
- 软土地基与深基础工程-地基与基础共同作用.ppt
- 未来高速铁路技术.pdf
- 单位低压配电柜及连接排采购招标文件.doc
- 液化气站生产安全事故应急预案.doc
- 微信小程序—笑话大全.zip
- 成本运营全景图PPT.pptx
- 微信小程序,租车小程序,租车公司预约小程序.zip
- 监理大纲编制中合同、信息与协调管理内容范例.doc
- 初学预算要记住的数据.doc


