C语言国际标准ISO-IEC 9899-1990详解

5星 · 超过95%的资源 需积分: 50 130 下载量 200 浏览量 更新于2024-07-25 2 收藏 12.99MB PDF 举报
"C89标准,也称为C90,是C编程语言的首个国际标准,由ISO(国际标准化组织)于1990年发布。这个标准是C语言发展的里程碑,为后续的C99、C11等版本奠定了基础。C89/90标准确保了不同平台之间代码的可移植性和一致性,促进了软件开发的标准化。 C89标准的核心内容包括以下几个方面: 1. **语法与关键字**:C89标准定义了C语言的基本语法结构,包括变量声明、函数定义、控制结构(如if、while、for循环)以及预处理器宏等。它引入了新的关键字,如`void`用于表示无类型指针,`const`用于创建只读变量,以及`inline`用于优化函数调用。 2. **类型系统**:标准规定了基本数据类型,如`char`、`int`、`float`和`double`,并明确了它们在不同体系结构下的最小字节数。此外,还定义了类型转换规则和类型兼容性。 3. **内存管理**:C89标准引入了动态内存分配函数`malloc()`和`free()`,允许程序在运行时动态地分配和释放内存。 4. **函数**:标准规定了函数的声明和定义,包括参数的默认值、函数指针和递归函数。函数原型成为强制性的,以防止类型不匹配导致的错误。 5. **头文件和库**:C89标准定义了标准库,包括输入输出函数(如`printf()`、`scanf()`)、数学函数(如`sin()`、`cos()`)和其他常用功能。 6. **错误处理**:标准提供了`errno`全局变量来报告运行时错误,以及`perror()`函数用于打印错误信息。 7. **预处理器**:C89标准进一步规范了预处理器,包括宏定义、条件编译指令(如`#ifdef`、`#ifndef`)等。 8. **源代码的布局和注释**:标准对源代码的格式、注释和空白字符的处理进行了规定,确保了代码的可读性。 9. **移植性**:C89标准的目的是促进代码的可移植性,使得符合标准的C程序可以在多种平台上编译和运行。 虽然C89标准在后来的版本中得到了扩展和增强,但它仍然是许多现代C程序的基础。理解C89对于学习和编写高效的、跨平台的C代码至关重要。标准的使用是自愿的,开发者可以选择遵循或不遵循,但标准的存在为编写符合标准的代码提供了指导和保障。"