
@c This is part of The GNU C Reference Manual
@c Copyright (C) 2007-2011 Free Software Foundation, Inc.
@c See the file gnu-c-manual.texi for copying conditions.

@node Preface
@unnumbered Preface
@cindex preface

This is a reference manual for the C programming language as implemented
by the GNU Compiler Collection (GCC). Specifically, this manual aims to
document:

@itemize

@item The 1989 ANSI C standard, commonly known as ``C89''
@item The 1999 ISO C standard, commonly known as ``C99'', to the extent that C99 is implemented by GCC
@item The current state of GNU extensions to standard C

@end itemize

@noindent
This manual describes C89 as its baseline. C99 features and GNU extensions are
explicitly labeled as such.

By default, GCC will compile code as C89 plus GNU-specific extensions.  Much
of C99 is supported; once full support is available, the default compilation
dialect will be C99 plus GNU-specific extensions.  (Some of the
GNU extensions to C89 ended up, sometimes slightly modified, as standard
language features in C99.)

The C language includes a set of preprocessor directives, which are used for
things such as macro text replacement, conditional compilation, and file
inclusion.  Although normally described in a C language manual, the GNU C 
preprocessor has been thoroughly documented in @cite{The C Preprocessor},
a separate manual which covers preprocessing for C, C++, and Objective-C
programs, so it is not included here.

@section Credits
Thanks to everyone who has helped with editing, proofreading, ideas,
typesetting, and administrivia, including: Diego Andres Alvarez Marin,
Nelson H.@tie{}F.@tie{}Beebe, Karl Berry, Robert Chassell, Hanfeng
Chen, Antonio Diaz Diaz, Andreas Foerster, Denver Gingerich, Lisa
Goldstein, Robert Hansen, Jean-Christophe Helary, Mogens Hetsholm,
Teddy Hogeborn, Joe Humphries, J.@tie{}Wren Hunt, Adam Johansen,
Vladimir Kadlec, Benjamin Kagia, Dright Kayorent, Sugun Kedambadi,
Felix Lee, Bjorn Liencres, Steve Morningthunder, Aljosha Papsch,
Matthew Plant, Richard Stallman, J.@tie{}Otto Tennant, Ole Tetlie,
Keith Thompson, T.F. Torrey, James Youngman, and Steve Zachar. Trevis
Rothwell serves as project maintainer and, along with James Youngman,
wrote the bulk of the text.

Some example programs are based on algorithms in Donald Knuth's @cite{The Art
of Computer Programming}.

Please send bug reports and suggestions to @email{gnu-c-manual@@gnu.org}.
