ISO/IEC 9899 1999 (C99):C语言标准
需积分: 13 170 浏览量
更新于2024-07-17
1
收藏 1.01MB PDF 举报
"ISO IEC 9899 1999 (C99)" 是一个国际标准,它定义了C语言的1999年版本,通常称为C99。这个标准是C编程语言发展的一个重要里程碑,引入了许多新特性、改进和规范,旨在提高代码的可移植性、效率和安全性。
ISO/IEC 9899:1999(E) 包含了关于C语言的各种方面,包括语言的语法、行为和环境交互。该标准由以下几个主要部分组成:
1. **Scope**(范围):这部分定义了标准覆盖的内容,即C语言的全部特性和规定,包括程序结构、数据类型、运算符、控制流程等。
2. **Normative references**(规范性引用):列出其他相关标准或文档,这些是理解和实现C99所必需的。
3. **Terms, definitions, and symbols**(术语、定义和符号):提供了一套共同的语言和符号,确保对标准的理解是一致的。
4. **Conformance**(符合性):描述了程序如何与标准相符合,以及实现C99标准的编译器应满足的要求。
5. **Environment**(环境):讨论了C程序运行时的上下文,包括概念模型、翻译环境和执行环境。这部分详细阐述了:
- **Translation environment**(翻译环境)涉及源代码到可执行代码的转换过程。
- **Execution environments**(执行环境)关注程序实际运行时的条件,如内存管理、输入/输出和异常处理。
- **Environmental considerations**涵盖字符集、字符显示语义、信号和中断处理以及环境限制,这些都是影响程序行为的关键因素。
6. **Language**(语言):这是标准的核心,详细介绍了C语言的语法和语义。包括:
- **Notation**(记法):定义了用于描述语言规则的符号和表示方法。
- **Concepts**(概念):如作用域、标识符的链接性、命名空间、对象的存储持续时间、类型系统和类型表示等。
- **Conversions**(转换):涉及不同类型的算术运算符和非算术运算符的转换规则。
- **Lexical elements**(词法元素):包括关键字、标识符、通用字符名、常量、字符串字面量和标点符号。
- **Header names**(头文件名):描述了头文件的使用和它们在程序中的作用。
C99引入的新特性包括:
- 复合类型(如`struct`和`union`的增强)
- 嵌套函数
- 可变长度数组(VLA)
- 静态 assert 宏
- 新的数据类型(如 `_Bool`,`long long`)
- 强制类型转换的显式指定(如 `(int)`)
- 多行字符串字面量
- 单行注释(`//`)
- 匿名结构和联合
这些改变和增强使得C99更适合现代软件开发的需求,提高了代码的可读性和可维护性。理解和遵循C99标准对于编写高效、可靠的C语言程序至关重要。
2022-07-14 上传
2018-03-15 上传
2021-12-21 上传
2022-01-16 上传
点击了解资源详情
2013-12-18 上传
2009-04-18 上传
点击了解资源详情
点击了解资源详情
柚子君.
- 粉丝: 3960
- 资源: 555
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录