ISO/IEC 9899:1999 - ANSI C语言标准详解

需积分: 9 1 下载量 21 浏览量 更新于2024-07-25 收藏 1.04MB PDF 举报
"ANSI C Standard,也称为C99标准,是国际标准化组织(ISO)和国际电工委员会(IEC)联合发布的C语言规范,其正式名称为ISO/IEC 9899:1999。该标准详细定义了C语言的语法、语义、环境要求和程序行为,旨在确保不同平台上的C程序具有可移植性和一致性。" 在C99标准中,涵盖了许多关键概念和规定: 1. **范围** (1. Scope): 规定了标识符的有效范围,即它们在代码中的可见性。这包括局部变量、全局变量以及函数的作用域。 2. **规范引用** (2. Normative references): 提及了标准中引用的相关规范和其他标准,这些规范对于理解和实现C语言至关重要。 3. **术语、定义和符号** (3. Terms, definitions, and symbols): 定义了C语言中使用的术语和符号,帮助开发者准确理解标准中的概念。 4. **符合性** (4. Conformance): 描述了程序和实现如何符合C99标准,包括各种级别的符合性,如完全符合、部分符合等。 5. **环境** (5. Environment): 这一部分详细描述了编译和执行C程序的环境要求,包括: - **概念模型** (5.1 Conceptual models): 提供了翻译(编译)和执行环境的概念框架。 - **翻译环境** (5.1.1 Translation environment): 解释了源代码到可执行代码的转换过程。 - **执行环境** (5.1.2 Execution environments): 描述了程序运行时的环境条件。 - **环境考虑** (5.2 Environmental considerations): 包括字符集、字符显示语义、信号和中断处理,以及环境限制,如内存大小、文件系统等。 6. **语言** (6. Language): 这是标准的核心部分,详细规定了C语言的各个方面: - **记号** (6.1 Notation): 介绍了标准中使用的语法符号和约定。 - **概念** (6.2 Concepts): 包括标识符的作用域、链接、命名空间、对象的存储持续时间、类型、类型表示、兼容类型和复合类型等基本概念。 - **转换** (6.3 Conversions): 阐述了不同类型之间的转换规则,如算术运算符和其它运算符的转换。 - **词法元素** (6.4 Lexical elements): 包括关键字、标识符、通用字符名、常量、字符串字面量和标点符号等构成C语言的基本元素。 - **头文件名** (6.4.7 Header names): 描述了包含库函数和类型定义的头文件的使用。 C99标准还涉及预处理器、声明、函数、表达式、控制流、声明和定义、块结构、外部对象、位字段、指针、数组、结构、联合、枚举、类型定义、声明和声明的组合、声明和定义的区别、初始化、动态内存分配、错误处理、输入/输出、诊断要求等多个方面,旨在为C程序员提供一个全面的指南,确保代码的正确性和可维护性。