United States
Compaq C
Compaq C
Language Reference Manual
Previous
Contents
Index
Chapter 8
8
Preprocessor Directives and Predefined Macros
8.1
Macro Definition (#define and #undef)
8.1.1
Object-Like Form
8.1.2
Function-Like Form
8.1.2.1
Rules for Specifying Macro Definitions
8.1.2.2
Rules for Specifying Macro References
8.1.2.3
Side Effects in Macro Arguments
8.1.3
Conversions to String Literals (#)
8.1.4
Token Concatenation(##)
8.2
Conditional Compilation (#if, #ifdef, #ifndef, #else, #elif, #endif, and defined)
8.2.1
The #if Directive
8.2.2
The #ifdef Directive
8.2.3
The #ifndef Directive
8.2.4
The #else Directive
8.2.5
The #elif Directive
8.2.6
The #endif Directive
8.2.7
The defined Operator
8.3
File Inclusion (#include)
8.4
Explicit Line Numbering (#line)
8.5
Implementation-Specific Preprocessor Directive (#pragma)
8.6
Error Directive (#error)
8.7
Null Directive (#)
8.8
Predefined Macro Names
8.8.1
The __DATE__ Macro
8.8.2
The __FILE__ Macro
8.8.3
The __FUNC__ Macro
8.8.4
The __LINE__ Macro
8.8.5
The __TIME__ Macro
8.8.6
The __STDC__ Macro
8.8.7
System-Identification Macros
Chapter 9
9
The ANSI C Standard Library
9.1
Diagnostics (<assert.h>)
9.2
Character Processing (<ctype.h>)
9.3
Error Codes (<errno.h>)
9.4
ANSI C Limits (<limits.h> and <float.h>)
9.5
Localization (<locale.h>)
9.6
Mathematics (<math.h>)
9.7
Nonlocal Jumps (<setjmp.h>)
9.8
Signal Handling (<signal.h>)
9.9
Variable Arguments (<stdarg.h>)
9.10
Common Definitions (<stddef.h>)
9.11
Standard Input/Output (<stdio.h>)
9.12
General Utilities (<stdlib.h>)
9.13
String Processing (<string.h>)
9.14
Date and Time (<time.h>)
Appendix A
Appendix A
Language Syntax Summary
Appendix B
Appendix B
ANSI Conformance Summary
B.1
Diagnostics (§2.1.1.3)
B.2
Hosted Environment (§2.1.2.2)
B.3
Multibyte Characters (§2.2.1.2)
B.4
Escape Sequences (§2.2.2)
B.5
Translation Limits (§2.2.4.1)
B.6
Numerical Limits (§2.2.4.2)
B.7
Keywords (§3.1.1)
B.8
Identifiers (§3.1.2)
B.9
Linkages of Identifiers (§3.1.2.2)
B.10
Types (§3.1.2.5)
B.11
Integer Constants (§3.1.3.2)
B.12
Character Constants (§3.1.3.4)
B.13
String Literals (§3.1.4)
B.14
Operators---Compound Assignment (§3.1.5)
B.15
Characters and Integers---Value-Preserving Promotions (§3.2.1.1)
B.16
Signed and Unsigned Integer Conversions (§3.2.1.2)
B.17
Floating and Integral Conversions (§3.2.1.3)
B.18
Pointer Conversions (§3.2.2.3)
B.19
Structure and Union Members (§3.3.2.3)
B.20
The sizeof Operator (§3.3.3.4)
B.21
Cast Operators (§3.3.4)
B.22
Multiplicative Operators (§3.3.5)
B.23
Additive Operators (§3.3.6)
B.24
Bitwise Shift Operators (§3.3.7)
B.25
Storage-Class Specifiers (§3.5.1)
B.26
Type Specifiers (§3.5.2)
B.27
Structure and Union Specifiers (§3.5.2.1)
B.28
Variant Structures and Unions
B.29
Structure Alignment
B.30
Enumeration Specifiers (§3.5.2.2)
B.31
Type Qualifiers (§3.5.3)
B.32
Declarators (§3.5.4)
B.33
Initialization (§3.5.7)
B.34
The switch Statement (§3.6.4.2)
B.35
External Object Definitions (§3.7.2)
B.36
Conditional Inclusion (§3.8.1)
B.37
Source File Inclusion (§3.8.2)
B.38
Macro Replacement---Predefined Macro Names (§3.8.3)
B.39
The ## Operator (§3.8.3.3)
B.40
Error Directive (§3.8.5)
B.41
Pragma Directive (§3.8.6)
B.42
Function Inline Expansion
B.43
Linkage Pragmas
B.44
Other Pragmas
Appendix C
Appendix C
ASCII Equivalence Table
Appendix D
Appendix D
Common C Extensions Supported by
Compaq C
D.1
Extensions Compatible with ANSI C
D.2
Extensions Incompatible with ANSI C
Appendix E
Appendix E
VAX C Extensions Supported by
Compaq C
E.1
Extensions Compatible with ANSI C
E.2
Extensions Incompatible with ANSI C
Index
Index
Examples
4-1
The Rules for Initializing Structures
5-1
Declaring Functions Passed as Arguments
7-1
Using switch to Count Blanks, Tabs, and New Lines
Previous
Next
Contents
Index
privacy and legal statement