ANSI C标准:ISO/IEC 9899 - 1999版

需积分: 14 7 下载量 12 浏览量 更新于2024-07-29 收藏 1.35MB PDF 举报
"ansi_c.pdf 是一份关于 ANSI C 标准的文档,即 ISO/IEC 9899 的第二版,发布于1999年12月1日。这个标准定义了 C 语言的编程规范,由国际标准化组织(ISO)和国际电工委员会(IEC)联合制定,并被美国国家标准协会(ANSI)采纳为美国国家标准。" ANSI C,全称为 American National Standards Institute 的 C 语言标准,是 C 语言编程的基础,它详细规定了 C 语言的语法、语义、类型系统、内存模型以及程序执行的规则。这个标准在1999年的更新(通常称为 C99)引入了许多新特性,例如: 1. **类型安全**:C99 强化了类型检查,例如增加了新的数据类型如 `stdint.h` 中的固定宽度整数类型,以减少类型错误。 2. **变量长度数组 (VLA)**:允许在运行时声明数组的大小,提高了代码的灵活性。 3. **复数类型**:引入了复数运算,使得在 C 语言中处理复数变得可能。 4. **内联函数**:`inline` 关键字的引入,用于优化函数调用,减少函数调用的开销。 5. **可选的尾随逗号**:在数组或结构体定义的最后元素后可以使用逗号,使得多行编辑更为方便。 6. **包含了头文件的条件编译**:`#include_next` 指令可以用来包含同一头文件的不同版本。 7. **预处理器宏改进**:引入了宏定义的条件展开,以及 `#` 和 `##` 运算符,增强宏编程能力。 8. **窄字符和宽字符**:增强了对多字节和宽字符的支持,以适应国际化和本地化的需求。 9. **动态内存分配的诊断**:`malloc()` 和 `calloc()` 等函数在失败时可以返回 NULL,且标准库提供了 `malloc()` 的诊断版本 `_malloca()`。 10. **文件位置指示器**:`fseek()` 和 `ftell()` 函数可以更精确地控制文件指针的位置。 ANSI C 标准是所有 C 语言开发者的重要参考,它确保了不同平台上代码的一致性和可移植性。理解和遵循这个标准,可以帮助编写更高效、更安全的 C 语言程序。