ISO IEC 9899 1999 (C99)
Foreword
1 ISO (the International Organization for Standardization) and IEC (the
International Electrotechnical Commission) form the specialized system for
worldwide standardization. National bodies that are member of ISO or IEC
participate in the development of International Standards through technical
committees established by the respective org anization to deal with
particular fields of technical activity. ISO and IEC technical committees
collaborate in fields of mutual interest. Other international organizations,
governmental and non-governmental, in liaison with ISO and IEC, also take
part in the work.
2 International Standards are drafted in accordance with the rules given in the
ISO/IEC Directives, Part 3.
3 In the field of information technology, ISO and IEC have established a joint
technical committee, ISO/IEC JTC 1. Draft International Standards
adopted by the joint technical committee are circulated to national bodies
for voting. Publication as an International Standard requires approval by at
least 75% of the national bodies casting a vote.
4 International Standard ISO/IEC 9899 was prepared by Joint Technical
Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 22,
Programming languages, their environments and system software
interfaces. The Working Group responsible for this standard (WG 14)
maintains a site on the World Wide Web at
http://www.dkuug.dk/JTC1/SC22/WG14/ containing additional
information relevant to this standard such as a Rationale for many of the
decisions made during its preparation and a log of Defect Reports and
Responses.
5 This second edition cancels and replaces the first edition,
ISO/IEC 9899:1990, as amended and corrected by
ISO/IEC 9899/COR1:1994, ISO/IEC 9899/AMD1:1995, and
ISO/IEC 9899/COR2:1996. Major changes from the previous edition
include:
— restricted character set support via digraphs and <iso646.h>
(originally specified in AMD1)
— wide character library support in <wchar.h> and <wctype.h>
(originally specified in AMD1)
— more precise aliasing rules via effective type
— restricted pointers
— variable-length arrays