The specification is organized to mirror ISO/IEC 9899, so a reader holding both documents can move between them without a translation table. Clause 6 is split across several documents because the language clause is large.
An implementer should read conformance first, then clause 6 in order, then the annexes. A programmer porting existing C should start with annex H. A first-time reader should read the two design papers, then annex G.
Front matter
| Document | Clauses |
|---|---|
| Overview of the collection | overview |
| 0. Conventions of This Specification | 0.1 to 0.10 |
| 1. Scope | 1.1 to 1.9 |
| 2. Normative References | 2.1 to 2.8 |
| 3. Terms and Definitions | 3.0 to 3.45 |
| 4. Conformance | 4.1 to 4.11 |
| 5. Environment | 5.1 to 5.2.4.4 |
The language
| Document | Clauses |
|---|---|
| 6.2 Concepts | 6.2.1 to 6.2.7 |
| 6.3 Conversions | 6.3.0 to 6.3.2.6 |
| 6.4 Lexical Elements | 6.4.0 to 6.4.9 |
| 6.5 Expressions | 6.5.0 to 6.5.17 |
| 6.6 Constant Expressions | 6.6.1 to 6.6.6 |
| 6.7 Declarations | 6.7.0 to 6.7.10 |
| 6.8 Statements and Blocks | 6.8.0 to 6.8.6.4 |
| 6.9 External Definitions | 6.9.0 to 6.9.8 |
| 6.10 Preprocessing Directives | 6.10.0 to 6.10.11.5 |
| 6.11 Future Language Directions | 6.11.0 to 6.11.6 |
The library
| Document | Clauses |
|---|---|
| 7.1 Library Introduction | 7.1.0 to 7.1.10 |
| 7.2 Standard Headers | 7.2.0 to 7.2.26 |
Annexes
| Document | Clauses |
|---|---|
| Annex A. Grammar | A.0 to A.4 |
| Annex B. Implementation Limits | B.0 to B.4 |
| Annex C. Implementation-Defined Behavior | C.0 to C.10 |
| Annex D. Defined Traps and Unsafe Operations | D.0 to D.5 |
| Annex E. Evaluation Order | E.0 to E.6 |
| Annex F. IEC 60559 Floating-Point Arithmetic | F.0 to F.8 |
| Annex G. Divergences from ISO C99 | G.0 to G.7 |
| Annex H. Migration and Interoperation | H.0 to H.4 |
| Annex I. Diagnostics | I.0 to I.5 |
| Annex J. Lowering Notes | J.0 to J.10 |
| Annex K. Deterministic Translation | K.0 to K.14.3 |
Governing design documents
| Document | Clauses |
|---|---|
| A Semantic Normalization of C | design paper |
| Behavioral Model and Language Semantics | design paper |