C99标准详解:函数规则与编程指南

5星 · 超过95%的资源 需积分: 0 6 下载量 167 浏览量 更新于2024-12-08 收藏 3.33MB PDF 举报
"C99 reference" C99是C语言的一个重要标准,由国际标准化组织(ISO)和国际电工委员会(IEC)联合制定,全称为ISO/IEC 9899:TC2。这个标准在2005年的修订版(WG14/N1124)中对C语言的语法、类型系统、内存管理、输入输出等多个方面进行了详细的规定,旨在提升C语言的可移植性和安全性。 C99标准包含了以下几个主要部分: 1. **前言**:通常会介绍标准的背景、目的和适用范围。 2. **引言**:简要概述C99标准的主要改进和特点。 3. **范围**:定义了标准覆盖的C语言的各个方面,包括基本概念、语言特性和库函数等。 4. **规范性引用**:列出其他相关标准和文档,这些是理解和实现C99标准所必需的。 5. **术语、定义和符号**:明确了标准中使用的术语和符号的含义,以便于统一理解。 6. **符合性**:规定了程序如何符合C99标准,以及编译器和实现的合规性要求。 7. **环境**:这部分详细描述了程序运行时的环境模型,包括翻译环境(Translation environment)和执行环境(Execution environments),涵盖了字符集、字符显示语义、信号与中断处理以及环境限制。 - **翻译环境**:涉及到源代码的预处理和编译阶段。 - **执行环境**:涉及程序运行时的行为,如内存分配、类型转换等。 8. **语言**:这是C99标准的核心部分,详细规定了C语言的语法、类型系统、运算符、表达式、声明、控制结构等。 - **符号表示**:描述了C语言中的记号和表达方式。 - **概念**:如标识符的范围、链接性、命名空间和对象的存储持续时间等。 - **类型**:包括基本类型、复合类型、兼容类型和类型表示。 - **转换**:如算术运算符的转换规则和其他操作数的转换。 9. **词法元素**:涵盖了关键字、标识符、通用字符名称、常量、字符串字面量和标点符号等。 10. **其他章节**:还包括声明、复合类型、函数、预处理器、头文件、错误处理、可移植性等多个方面。 C99引入了许多新的特性,如`inline`关键字用于内联函数,`restrict`关键字用于指示无交叉引用的指针,`_Bool`类型用于布尔值,`typedef`后的枚举类型可以有别名,以及变量长度数组(VLA)、复数类型等。此外,C99还强化了对浮点数的处理,并提供了更强大的I/O功能,如宽字符和宽字符串的处理。 C99标准为C语言程序员提供了更强大、更安全的工具,同时也为编译器开发者设定了清晰的实现目标。理解和掌握C99标准,对于编写高效、可靠的C程序至关重要。