C, Ocean Edition I

Contents

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

DocumentClauses
Overview of the collectionoverview
0. Conventions of This Specification0.1 to 0.10
1. Scope1.1 to 1.9
2. Normative References2.1 to 2.8
3. Terms and Definitions3.0 to 3.45
4. Conformance4.1 to 4.11
5. Environment5.1 to 5.2.4.4

The language

DocumentClauses
6.2 Concepts6.2.1 to 6.2.7
6.3 Conversions6.3.0 to 6.3.2.6
6.4 Lexical Elements6.4.0 to 6.4.9
6.5 Expressions6.5.0 to 6.5.17
6.6 Constant Expressions6.6.1 to 6.6.6
6.7 Declarations6.7.0 to 6.7.10
6.8 Statements and Blocks6.8.0 to 6.8.6.4
6.9 External Definitions6.9.0 to 6.9.8
6.10 Preprocessing Directives6.10.0 to 6.10.11.5
6.11 Future Language Directions6.11.0 to 6.11.6

The library

DocumentClauses
7.1 Library Introduction7.1.0 to 7.1.10
7.2 Standard Headers7.2.0 to 7.2.26

Annexes

DocumentClauses
Annex A. GrammarA.0 to A.4
Annex B. Implementation LimitsB.0 to B.4
Annex C. Implementation-Defined BehaviorC.0 to C.10
Annex D. Defined Traps and Unsafe OperationsD.0 to D.5
Annex E. Evaluation OrderE.0 to E.6
Annex F. IEC 60559 Floating-Point ArithmeticF.0 to F.8
Annex G. Divergences from ISO C99G.0 to G.7
Annex H. Migration and InteroperationH.0 to H.4
Annex I. DiagnosticsI.0 to I.5
Annex J. Lowering NotesJ.0 to J.10
Annex K. Deterministic TranslationK.0 to K.14.3

Governing design documents

DocumentClauses
A Semantic Normalization of Cdesign paper
Behavioral Model and Language Semanticsdesign paper