ANSI C 99标准详解:ISO/IEC 9899:1999 (E)

需积分: 43 2 下载量 81 浏览量 更新于2024-07-29 收藏 1.04MB PDF 举报
"ANSI C 99 是 C 语言的一个重要版本,由美国国家标准协会(ANSI)和国际标准化组织(ISO)联合发布,其正式名称为 ISO/IEC 9899:1999 (E)。这份标准文档详细定义了 C 语言的语法、语义以及编程环境的要求,旨在为程序员提供一个统一的编程规范。" ANSI C 99 的标准文档涵盖了多个方面,以下是一些关键知识点的详细说明: 1. **范围(Scope)**:文档指出 C 语言的范围规则,决定了变量和函数的作用域,即它们在源代码中的可见性。这包括局部作用域、文件作用域、函数原型作用域和块作用域。 2. **规范引用(Normative references)**:这部分列出对其他标准或文档的依赖,确保 C 语言的实现遵循这些规定。 3. **术语、定义与符号(Terms, definitions, and symbols)**:定义了语言中使用的专业术语和符号,是理解和解释标准的基础。 4. **符合性(Conformance)**:定义了实现 ANSI C 99 的编译器和其他工具必须满足的条件,以确保兼容性和一致性。 5. **环境(Environment)**: - **概念模型(Conceptual models)**:描述了程序翻译和执行的抽象模型,包括翻译环境和执行环境。 - **翻译环境(Translation environment)**:涉及预处理、编译和汇编等步骤。 - **执行环境(Execution environments)**:涵盖运行时环境,如内存模型、线程、异常处理等。 - **环境考虑(Environmental considerations)**:包括字符集、字符显示语义、信号与中断处理,以及环境限制(如内存大小)。 6. **语言(Language)**: - **记号(Notation)**:描述了 C 语言的语法表示,包括关键字、标识符、常量等。 - **概念(Concepts)**:涵盖变量的作用域、链接性、标识符的命名空间、对象的存储持续时间、类型系统和类型表示等。 - **类型(Types)**:定义了基本类型、复合类型以及类型兼容性。 - **类型表示(Representation of types)**:讨论了不同类型在内存中的存储方式。 - **转换(Conversions)**:包括算术操作数的转换和其他操作数的转换,如强制类型转换。 - **词法元素(Lexical elements)**:涵盖关键词、标识符、通用字符名、常量、字符串字面量、标点符号和头文件名。 这些内容构成了 ANSI C 99 的核心,对于 C 程序员来说,理解并遵循这些规定可以编写出高效、可靠且可移植的代码。此外,ANSI C 99 还引入了一些新特性,如复数类型、宽字符和字符串函数、类型安全的内存管理函数等,增强了语言的功能性和安全性。