ISO/IEC 9899:1999(E) C语言标准规范

需积分: 9 5 下载量 68 浏览量 更新于2024-08-02 收藏 1.02MB PDF 举报
"ISO-C-FDIS.1999-04.pdf" 该文件是关于C语言编程标准的文档,具体是ISO/IEC 9899:1999(E)版本,通常称为C99标准。这个标准定义了C语言的语法、语义以及编译器和执行环境应遵循的规范。它对程序员和实现C语言的系统提供了共同的参考框架,以确保代码的可移植性和一致性。 文档内容分为多个部分,首先由序言和引言引导,接着是标准的各个章节: 1. **范围(Scope)**:这部分明确了标准覆盖的C语言的各个方面,包括语法、类型系统、运算符、预处理、内存管理、输入/输出等。 2. **规范性引用(Normative references)**:列出该标准依赖的其他规范或文档,这些是理解和实现C99所必需的。 3. **术语、定义和符号(Terms, definitions, and symbols)**:定义了标准中使用的术语和符号,以便于读者理解。 4. **符合性(Conformance)**:阐述了程序和实现如何满足C99标准,包括不同的符合性级别和要求。 5. **环境(Environment)**:这部分详细描述了C程序的运行环境,分为两个子部分: - **翻译环境(Translation environment)**:涉及源代码到可执行代码的转换过程,如预处理器、宏扩展等。 - **执行环境(Execution environments)**:涵盖了程序运行时的环境,如字符集、显示语义、信号处理和系统资源限制。 6. **语言(Language)**:这是核心部分,详细规定了C语言的语法和语义: - **记号(Notation)**:定义了表示语法结构的符号和规则。 - **概念(Concepts)**:涵盖变量的作用域、链接、标识符命名空间、对象的存储持续时间、类型系统、类型表示以及兼容类型。 - **转换(Conversions)**:描述了不同类型的运算符(如算术运算符和其他运算符)以及它们之间的转换规则。 - **词法元素(Lexical elements)**:包括关键字、标识符、通用字符名称、常量、字符串字面量和标点符号。 - **头文件名(Header names)**:定义了如何包含和使用头文件来访问库函数和类型定义。 C99标准在C89的基础上引入了许多新特性,如复数类型、宽字符、动态内存分配的改进、柔性数组成员、内联函数等。这个文档对于深入理解C语言的底层机制、编写高效且可移植的代码至关重要,是所有C程序员和系统开发者的重要参考资料。