ISO/IEC 9899 1999 (C99):C语言标准
需积分: 13 21 浏览量
更新于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语言程序至关重要。
2018-03-15 上传
2022-01-16 上传
2021-12-21 上传
点击了解资源详情
2013-12-18 上传
2009-04-18 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
柚子君.
- 粉丝: 3957
- 资源: 555
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载