C99标准详解:ISO/IEC 9899:1999编程规范

需积分: 43 4 下载量 97 浏览量 更新于2024-09-20 收藏 1.04MB PDF 举报
"ISO/IEC 9899:1999(C99标准)是C语言的一个重要标准,由国际标准化组织ISO和国际电工委员会IEC共同发布,共有550页,旨在规范C语言的编程环境、语法规则、类型系统以及程序执行模型等核心要素。 C99标准的引入部分对标准的目的和范围进行了概述,它不仅对原有的C89标准进行了扩展和改进,还引入了新的特性和功能。标准的结构分为多个章节,覆盖了从语言的宏观概念到微观细节的方方面面。 在"Scope"章节中,明确了标准的适用范围,它定义了C语言的规范,包括语法、词汇、类型、运算符、控制结构、内存管理等方面。"Normative references"章节列出了标准参考的相关规范,这些规范是理解和实现C99语言所必需的。 "Terms, definitions, and symbols"章节中,C99定义了一系列术语、定义和符号,这是理解标准中概念的关键。"Conformance"章节则规定了程序和实现如何符合C99标准,包括不同级别的符合性要求。 "Environment"章节详细讨论了C程序运行的上下文,分为"Translation environment"(翻译环境)和"Execution environment"(执行环境)。翻译环境涉及预处理、编译等步骤,而执行环境则关注程序运行时的硬件和软件环境,如字符集、显示语义、信号处理和系统资源限制。 在"Language"章节中,C99详细描述了语言的各个方面,如"6.2.1 Scopes of identifiers"介绍了标识符的作用域,"6.2.2 Linkages of identifiers"讨论了标识符的链接性,"6.2.3 Namespaces of identifiers"明确了不同类型的标识符命名空间,"6.2.4 Storage durations of objects"讲述了对象的存储持续时间,"6.2.5 Types"和"6.2.6 Representation of types"深入讲解了类型系统和类型表示,"6.2.7 Compatible type and composite type"介绍了兼容类型和复合类型的概念。此外,还有关于运算符转换、词法元素(如关键字、标识符、常量、字符串字面量和标点符号)、头文件名等的详细规则。 C99标准引入的新特性包括但不限于:复数和浮点运算的增强、动态数组声明、内联函数、变长参数列表、typedef重定义、指定初始化器、宽字符和多字节字符支持、新的预处理器宏、新的内存管理函数等。 这个标准对于C语言程序员、编译器开发者以及与C语言相关的系统和应用软件开发有着重要的指导意义,确保了代码的可移植性和可靠性。通过遵循C99标准,开发者可以编写出更高效、更健壮的C程序,并且能够更好地与其他C99兼容的系统进行交互。"