Preface |
Preface
|
Preface
|
Chapter 1 |
1
|
Lexicon
|
1.1
|
Character Set
|
1.1.1
|
Trigraph Sequences
|
1.1.2
|
Digraph Sequences
|
1.2
|
Identifiers
|
1.3
|
Universal Character Names
|
1.4
|
Comments
|
1.5
|
Keywords
|
1.6
|
Operators
|
1.7
|
Punctuators
|
1.8
|
String Literals
|
1.9
|
Constants
|
1.9.1
|
Integer Constants
|
1.9.2
|
Floating-Point Constants
|
1.9.2.1
|
Semantics
|
1.9.2.2
|
Floating-Point Type
|
1.9.2.3
|
Hexadecimal Floating-Point Constants
|
1.9.2.4
|
Examples
|
1.9.3
|
Character Constants
|
1.9.3.1
|
Wide Characters
|
1.9.3.2
|
Multibyte Characters
|
1.9.3.3
|
Character Escape Sequences
|
1.9.3.4
|
Numeric Escape Sequences
|
1.9.4
|
Enumeration Constants
|
1.10
|
Header Files
|
1.11
|
Limits
|
1.11.1
|
Translation Limits
|
1.11.2
|
Numerical Limits
|
1.11.3
|
Character Display
|
Chapter 2 |
2
|
Basic Concepts
|
2.1
|
Blocks
|
2.2
|
Compilation Units
|
2.3
|
Scope
|
2.3.1
|
File Scope
|
2.3.2
|
Block Scope
|
2.3.3
|
Function Scope
|
2.3.4
|
Function Prototype Scope
|
2.4
|
Visibility
|
2.5
|
Side Effects and Sequence Points
|
2.6
|
Incomplete Type
|
2.7
|
Compatible and Composite Types
|
2.8
|
Linkage
|
2.9
|
Tentative Definitions
|
2.10
|
Storage Classes
|
2.10.1
|
The auto Class
|
2.10.2
|
The register Class
|
2.10.3
|
The static Class
|
2.10.4
|
The extern Class
|
2.11
|
Storage-Class Modifiers
|
2.11.1
|
The __inline Modifier
|
2.11.2
|
The inline Modifier
|
2.11.2.1
|
Example---Using the inline Function Specifier
|
2.11.3
|
The __forceinline Modifier
|
2.11.4
|
The __align Modifier
|
2.12
|
Forward References
|
2.13
|
Tags
|
2.14
|
lvalues and rvalues
|
2.15
|
Name Spaces
|
2.16
|
Preprocessing
|
2.17
|
Type Names
|
Chapter 3 |
3
|
Data Types
|
3.1
|
Data Sizes
|
3.2
|
Integral Types
|
3.2.1
|
Non-Character Types
|
3.2.2
|
Character Types
|
3.3
|
Floating-Point Types
|
3.3.1
|
Complex Type (ALPHA ONLY)
|
3.3.2
|
Imaginary Type (ALPHA ONLY)
|
3.4
|
Derived Types
|
3.4.1
|
Function Type
|
3.4.2
|
Pointer Type
|
3.4.3
|
Array Type
|
3.4.4
|
Structure Type
|
3.4.5
|
Union Type
|
3.5
|
void Type
|
3.6
|
Enumerated Types
|
3.7
|
Type Qualifiers
|
3.7.1
|
const Type Qualifier
|
3.7.2
|
volatile Type Qualifier
|
3.7.3
|
__unaligned Type Qualifier
|
3.7.4
|
__restrict Type Qualifier
|
3.7.4.1
|
Rationale
|
3.7.4.1.1
|
Aliasing
|
3.7.4.1.2
|
Library Examples
|
3.7.4.1.3
|
Overlapping Objects
|
3.7.4.1.4
|
Restricted Pointer Prototype for memcpy
|
3.7.4.2
|
Formal Definition of the __restrict Type Qualifier
|
3.7.4.3
|
Examples
|
3.7.4.3.1
|
File Scope Restricted Pointers
|
3.7.4.3.2
|
Function Parameters
|
3.7.4.3.3
|
Block Scope
|
3.7.4.3.4
|
Members of Structures
|
3.7.4.3.5
|
Type Definitions
|
3.7.4.3.6
|
Expressions Based on Restricted Pointers
|
3.7.4.3.7
|
Assignments Between Restricted Pointers
|
3.7.4.3.8
|
Assignments to Unrestricted Pointers
|
3.7.4.3.9
|
Ineffective Uses of Type Qualifiers
|
3.7.4.3.10
|
Constraint Violations
|
3.8
|
Type Definition
|