:Base clr.hlp>main
:Title Open Watcom C Language Reference
:Index Open Watcom C Language Reference Help=clr.hlp

1 Open Watcom C Language Reference
2 Introduction to C
2 Introduction=Introduction_to_C
2 History=History
2 Uses=Uses
2 Advantages=Advantages
2 How to Use This Book=How_to_Use_This_Book
2 Notation
2 Introduction=Notation
2 Basic Language Elements
2 Introduction=Basic_Language_Elements
3 Character Sets
3 Introduction=Character_Sets
3 Multibyte Characters=Multibyte_Characters
2 Keywords=Keywords
2 Identifiers=Identifiers
2 Comments=Comments
2 Basic Types
2 Introduction=Basic_Types
2 Declarations of Objects=Declarations_of_Objects
2 Name Scope=Name_Scope
2 Type Specifiers=Type_Specifiers
2 Integer Types=Integer_Types
2 Floating-Point Types=FloatingMPoint_Types
2 Enumerated Types=Enumerated_Types
2 Arrays=Arrays
2 Strings=Strings
2 Constants
2 Introduction=Constants
2 Integer Constants=Integer_Constants
2 Floating-Point Constants=FloatingMPoint_Constants
3 Character Constants
3 Introduction=Character_Constants
3 Wide Character Constants=Wide_Character_Constants
3 String Literals
3 Introduction=String_Literals
3 Wide String Literals=Wide_String_Literals
2 Type Conversion
2 Introduction=Type_Conversion
2 Integral Promotion=Integral_Promotion
2 Signed and Unsigned Integer Conversion=Signed_and_Unsigned_Integer_Conversion
2 Floating-Point to Integer Conversion=FloatingMPoint_to_Integer_Conversion
2 Integer to Floating-Point Conversion=Integer_to_FloatingMPoint_Conversion
2 Arithmetic Conversion=Arithmetic_Conversion
2 Default Argument Promotion=Default_Argument_Promotion
2 Advanced Types
2 Introduction=Advanced_Types
3 Structures
3 Introduction=Structures
3 Bit-fields=BitMfields
2 Unions=Unions
3 Pointers
3 Introduction=Pointers
4 Special Pointer Types for Open Watcom C/16
4 Introduction=Special_Pointer_Types_for_Open_Watcom_CD16
4 The Small and Big Code Models=The_Small_and_Big_Code_Models
4 The Small and Big Data Models=The_Small_and_Big_Data_Models
4 Mixing Memory Models=Mixing_Memory_Models
4 The _ _far Keyword for Open Watcom C/16=The____far_Keyword_for_Open_Watcom_CD16
4 The _ _near Keyword for Open Watcom C/16=The____near_Keyword_for_Open_Watcom_CD16
4 The _ _huge Keyword for Open Watcom C/16=The____huge_Keyword_for_Open_Watcom_CD16
4 Special Pointer Types for Open Watcom C/32
4 Introduction=Special_Pointer_Types_for_Open_Watcom_CD32
4 The _ _far Keyword for Open Watcom C/32=The____far_Keyword_for_Open_Watcom_CD32
4 The _ _near Keyword for Open Watcom C/32=The____near_Keyword_for_Open_Watcom_CD32
4 The _ _far16 and _Seg16 Keywords=The____far16_and__Seg16_Keywords
4 Based Pointers for Open Watcom C/16 and C/32
4 Introduction=Based_Pointers_for_Open_Watcom_CD16_and_CD32
4 Segment Constant Based Pointers and Objects=Segment_Constant_Based_Pointers_and_Objects
4 Segment Object Based Pointers=Segment_Object_Based_Pointers
4 Void Based Pointers=Void_Based_Pointers
4 Self Based Pointers=Self_Based_Pointers
2 Void=Void
2 The const and volatile Declarations=The_const_and_volatile_Declarations
2 Storage Classes
2 Introduction=Storage_Classes
3 Type Definitions
3 Introduction=Type_Definitions
3 Compatible Types=Compatible_Types
3 Static Storage Duration
3 Introduction=Static_Storage_Duration
3 The static Storage Class=The_static_Storage_Class
3 The extern Storage Class=The_extern_Storage_Class
3 Automatic Storage Duration
3 Introduction=Automatic_Storage_Duration
3 The auto Storage Class=The_auto_Storage_Class
3 The register Storage Class=The_register_Storage_Class
2 Initialization of Objects
2 Introduction=Initialization_of_Objects
2 Initialization of Scalar Types=Initialization_of_Scalar_Types
2 Initialization of Arrays=Initialization_of_Arrays
2 Initialization of Structures=Initialization_of_Structures
2 Initialization of Unions=Initialization_of_Unions
2 Uninitialized Objects=Uninitialized_Objects
2 Expressions
2 Introduction=Expressions
2 Lvalues=Lvalues
2 Primary Expressions=Primary_Expressions
3 Postfix Operators
3 Introduction=Postfix_Operators
3 Array Subscripting=Array_Subscripting
3 Function Calls=Function_Calls
3 Structure and Union Members=Structure_and_Union_Members
3 Post-Increment and Post-Decrement=PostMIncrement_and_PostMDecrement
3 Unary Operators
3 Introduction=Unary_Operators
3 Pre-Increment and Pre-Decrement Operators=PreMIncrement_and_PreMDecrement_Operators
3 Address-of and Indirection Operators=AddressMof_and_Indirection_Operators
3 Unary Arithmetic Operators=Unary_Arithmetic_Operators
3 The sizeof Operator=The_sizeof_Operator
2 Cast Operator=Cast_Operator
2 Multiplicative Operators=Multiplicative_Operators
2 Additive Operators=Additive_Operators
2 Bitwise Shift Operators=Bitwise_Shift_Operators
2 Relational Operators=Relational_Operators
2 Equality Operators=Equality_Operators
2 Bitwise AND Operator=Bitwise_AND_Operator
2 Bitwise Exclusive OR Operator=Bitwise_Exclusive_OR_Operator
2 Bitwise Inclusive OR Operator=Bitwise_Inclusive_OR_Operator
2 Logical AND Operator=Logical_AND_Operator
2 Logical OR Operator=Logical_OR_Operator
2 Conditional Operator=Conditional_Operator
3 Assignment Operators
3 Introduction=Assignment_Operators
3 Simple Assignment=Simple_Assignment
3 Compound Assignment=Compound_Assignment
2 Comma Operator=Comma_Operator
2 Constant Expressions=Constant_Expressions
2 Statements
2 Introduction=Statements
2 Labelled Statements=Labelled_Statements
2 Compound Statements=Compound_Statements
2 Expression Statements=Expression_Statements
2 Null Statements=Null_Statements
3 Selection Statements
3 Introduction=Selection_Statements
3 The if Statement=The_if_Statement
3 The switch Statement=The_switch_Statement
3 Iteration Statements
3 Introduction=Iteration_Statements
3 The while Statement=The_while_Statement
3 The do Statement=The_do_Statement
3 The for Statement=The_for_Statement
3 Jump Statements
3 Introduction=Jump_Statements
3 The goto Statement=The_goto_Statement
3 The continue Statement=The_continue_Statement
3 The break Statement=The_break_Statement
3 The return Statement=The_return_Statement
2 Functions
2 Introduction=Functions
2 The Body of the Function=The_Body_of_the_Function
3 Function Prototypes
3 Introduction=Function_Prototypes
3 Variable Argument Lists=Variable_Argument_Lists
2 The Parameters to the Function main=The_Parameters_to_the_Function_main
2 The Preprocessor
2 Introduction=The_Preprocessor
2 The Null Directive=The_Null_Directive
2 Including Headers and Source Files=Including_Headers_and_Source_Files
3 Conditionally Including Source Lines
3 Introduction=Conditionally_Including_Source_Lines
3 The #ifdef and #ifndef Directives=The__ifdef_and__ifndef_Directives
2 Macro Replacement=Macro_Replacement
3 Argument Substitution
3 Introduction=Argument_Substitution
3 Converting An Argument to a String=Converting_An_Argument_to_a_String
3 Concatenating Tokens=Concatenating_Tokens
3 Simple Argument Substitution=Simple_Argument_Substitution
3 Variable Argument Macros=Variable_Argument_Macros
3 Rescanning for Further Replacement=Rescanning_for_Further_Replacement
2 More Examples of Macro Replacement=More_Examples_of_Macro_Replacement
2 Redefining a Macro=Redefining_a_Macro
2 Changing the Line Numbering and File Name=Changing_the_Line_Numbering_and_File_Name
2 Displaying a Diagnostic Message=Displaying_a_Diagnostic_Message
2 Providing Other Information to the Compiler=Providing_Other_Information_to_the_Compiler
2 Standard Predefined Macros=Standard_Predefined_Macros
2 Open Watcom C/16 and C/32 Predefined Macros=Open_Watcom_CD16_and_CD32_Predefined_Macros
2 The offsetof Macro=The_offsetof_Macro
2 The NULL Macro=The_NULL_Macro
2 The Order of Translation
2 Introduction=The_Order_of_Translation
2 Modularity
2 Introduction=Modularity
2 Reducing Recompilation Time=Reducing_Recompilation_Time
2 Grouping Code With Related Functionality=Grouping_Code_With_Related_Functionality
3 Data Hiding
3 Introduction=Data_Hiding
3 Complete Data Hiding=Complete_Data_Hiding
3 Partial Data Hiding=Partial_Data_Hiding
2 Rewriting and Redesigning Modules=Rewriting_and_Redesigning_Modules
2 Isolating System Dependent Code in Modules=Isolating_System_Dependent_Code_in_Modules
2 Writing Portable Programs
2 Introduction=Writing_Portable_Programs
2 Isolating System Dependent Code=Isolating_System_Dependent_Code
2 Beware of Long External Names=Beware_of_Long_External_Names
2 Avoiding Implementation-Defined Behavior=Avoiding_ImplementationMDefined_Behavior
2 Ranges of Types=Ranges_of_Types
2 Special Features=Special_Features
2 Using the Preprocessor to Aid Portability=Using_the_Preprocessor_to_Aid_Portability
2 Avoiding Common Pitfalls
2 Introduction=Avoiding_Common_Pitfalls
2 Assignment Instead of Comparison=Assignment_Instead_of_Comparison
2 Unexpected Operator Precedence=Unexpected_Operator_Precedence
2 Delayed Error From Included File=Delayed_Error_From_Included_File
2 Extra Semi-colon in Macros=Extra_SemiMcolon_in_Macros
2 The Dangling else=The_Dangling_else
2 Missing break in switch Statement=Missing_break_in_switch_Statement
2 Side-effects in Macros=SideMeffects_in_Macros
2 Programming Style
2 Introduction=Programming_Style
2 Consistency=Consistency
2 Case Rules for Object and Function Names=Case_Rules_for_Object_and_Function_Names
2 Choose Appropriate Names=Choose_Appropriate_Names
2 Indent to Emphasize Structure=Indent_to_Emphasize_Structure
2 Visually Align Object Declarations=Visually_Align_Object_Declarations
2 Keep Functions Small=Keep_Functions_Small
2 Use static for Most Functions=Use_static_for_Most_Functions
2 Group Static Objects Together=Group_Static_Objects_Together
2 Do Not Reuse the Names of Static Objects=Do_Not_Reuse_the_Names_of_Static_Objects
2 Use Included Files to Organize Structures=Use_Included_Files_to_Organize_Structures
2 Use Function Prototypes=Use_Function_Prototypes
2 Do Not Do Too Much In One Statement=Do_Not_Do_Too_Much_In_One_Statement
2 Do Not Use goto Too Much=Do_Not_Use_goto_Too_Much
2 Use Comments=Use_Comments
2 Compiler Keywords
2 Introduction=Compiler_Keywords
2 Standard Keywords=Standard_Keywords
2 Open Watcom C/16 and C/32 Keywords=Open_Watcom_CD16_and_CD32_Keywords
2 Trigraphs
2 Introduction=Trigraphs
2 Escape Sequences
2 Introduction=Escape_Sequences
2 Operator Precedence
2 Introduction=Operator_Precedence
2 Formal C Grammar
2 Introduction=Formal_C_Grammar
3 Lexical Grammar
3 Introduction=Lexical_Grammar
3 Definition of a Token=Definition_of_a_Token
3 Definition of a Keyword=Definition_of_a_Keyword
3 Definition of an Identifier=Definition_of_an_Identifier
3 Definition of a Constant=Definition_of_a_Constant
3 Definition of a String Literal=Definition_of_a_String_Literal
3 Definition of an Operator=Definition_of_an_Operator
3 Definition of a Punctuator=Definition_of_a_Punctuator
3 Phrase Structure Grammar
3 Introduction=Phrase_Structure_Grammar
3 Definition of Expressions=Definition_of_Expressions
3 Definition of a Declaration=Definition_of_a_Declaration
3 Definition of a Statement=Definition_of_a_Statement
3 External Definitions=External_Definitions
2 Preprocessing Directives Grammar=Preprocessing_Directives_Grammar
2 Translation Limits
2 Introduction=Translation_Limits
2 Macros for Numerical Limits
2 Introduction=Macros_for_Numerical_Limits
2 Numerical Limits for Integer Types=Numerical_Limits_for_Integer_Types
2 Numerical Limits for Floating-Point Types=Numerical_Limits_for_FloatingMPoint_Types
2 Implementation-Defined Behavior
2 Introduction=ImplementationMDefined_Behavior
2 Translation=Translation
2 Environment=Environment
2 Behaviour Concerning Identifiers=Behaviour_Concerning_Identifiers
2 Characters=Characters
2 Integers=Integers
2 Floating Point=Floating_Point
2 Arrays and Pointers=Arrays_and_Pointers
2 Registers=Registers
2 Structures, Unions, Enumerations and Bit-Fields=Structures__Unions__Enumerations_and_BitMFields
2 Qualifiers=Qualifiers
2 Declarators=Declarators
2 Behaviour Concerning Statements=Behaviour_Concerning_Statements
2 Preprocessing Directives=Preprocessing_Directives
2 Library Functions=Library_Functions
2 Examples of Declarations
2 Introduction=Examples_of_Declarations
2 Object Declarations=Object_Declarations
2 Function Declarations=Function_Declarations
2 _ _far, _ _near and _ _huge Declarations=___far_____near_and____huge_Declarations
2 _ _interrupt Declarations=___interrupt_Declarations
2 A Sample Program
2 Introduction=A_Sample_Program
2 The memos.h File=The_memos_h_File
2 The memos.c File=The_memos_c_File
2 Glossary
2 Introduction=Glossary
