Scope and Organization of This Manual

The C Language Reference defines the C language as implemented by Microsoft Corporation. It is intended as a reference for programmers experienced in C or other programming languages. Knowledge of programming fundamentals is assumed. This manual is organized as follows:

Chapter 1, “Elements of C,” describes the letters, numbers, and symbols that can be used in C programs and the combinations of characters that have special meanings to the C compiler.

Chapter 2, “Program Structure,” discusses the components and structure of C programs and explains how C source files are organized.

Chapter 3, “Declarations and Types,” describes how to specify the attributes of C variables, functions, and user-defined types. C provides a number of predefined data types and allows the programmer to declare “aggregate” types and pointers. Function prototypes are discussed in this chapter, as well as in Chapter 6, “Functions.”

Chapter 4, “Expressions and Assignments,” describes the operands and operators that form C expressions and assignments. The chapter also discusses the type conversions and side effects that may occur when expressions are evaluated.

Chapter 5, “Statements,” describes C statements, which control the flow of program execution.

Chapter 6, “Functions,” discusses C functions. In particular, this chapter explains function prototypes, parameters, and return values, as well as how to define, declare, and call functions.

Chapter 7, “Preprocessor Directives and Pragmas,” describes the instructions recognized by the C preprocessor, a text processor that is automatically invoked before compilation. This chapter also introduces “pragmas,” special Microsoft-specific instructions to the compiler that you may place in source files.

Appendix A, “C Language Syntax Summary,” is the complete listing of the ANSI syntax as discussed in the rest of the manual. The Microsoft-specific features are noted. This appendix also begins with a description of how to read and use the ANSI C syntax.

NOTE:

The ANSI syntax in Appendix A is provided for information only. It is not part of the ANSI standard.

Appendix B, “Implementation-Defined Behavior,” describes Microsoft's implementation of the areas that ANSI leaves open to each particular implementation. These items are listed in Appendix F, “Portability Issues,” Section F.3, of the ANSI standard.

Appendix C, “Differences Between Microsoft C Versions 6.0 and 7.0,” lists the new and changed features of the C compiler since Microsoft C version 6.0. This appendix does not include information about features of the C++ compiler.