1. 涵盖范围
TIP
本章说明这份标准“管什么”和“不管什么”。阅读后,最好先建立一个边界感:标准规定的是 C 语言本身及其实现应满足的规则,而不是所有和编译、运行有关的外部机制。
本文档规定了用 C 程序设计语言编写的程序的形式,并确立了对这些程序的解释规则。其目的是促进 C 语言程序在各种数据处理系统中的可移植性。本文档旨在供(语言)实现者和程序员使用。它规定了:
- C 程序的表示;
- C 语言的语法和约束;
- 解释 C 程序的语义规则;
- 由 C 程序处理的输入数据的表示;
- 由 C 程序产生的输出数据的表示;
- 符合标准的 C 实现所施加的限制和限度。
本文档不规定:
- 将 C 程序转换为可供数据处理系统使用的具体机制;
- 数据处理系统如何调用 C 程序;
- 如何把输入数据转换成可供 C 程序使用的形式;
- C 程序产生输出之后,如何进一步对输出数据进行转换;
- 超出特定数据处理系统或特定处理器能力范围的程序及其数据的大小或复杂度;
- 为了支持符合标准的实现,数据处理系统必须满足的全部最低要求。
附录 J 概述了 C 程序可能遇到的可移植性问题。