Linguagem de Programação C - NORMA ISO/IEC 9899TC2

Linguagem de Programação C - NORMA ISO/IEC 9899TC2

(Parte 2 de 11)

—IEC 60559 (also known as IEC 559 or IEEE arithmetic) support

—trailing comma allowed inenumdeclaration

—%lfconversion specifier allowed inprintf

—inline functions

—thesnprintffamily of functions in<stdio.h>

—boolean type in<stdbool.h>

—idempotent type qualifiers

—empty macro arguments xii Foreword

WG14/N1124 CommitteeDraft — May 6, 2005ISO/IEC 9899:TC2

—new structure type compatibility rules (tag compatibility) —additional predefined macro names

— _Pragma preprocessing operator

—standard pragmas

— va_copy macro

— additional strftime conversion specifiers

—deprecateungetcat the beginning of a binary file

—remove deprecation of aliased array parameters

—conversion of array to pointer not limited to lvalues

—relaxed constraints on aggregate and union initialization

—relaxed restrictions on portable header names

—returnwithout expression not permitted in function that returns a value (and vice versa)

6AnnexesDand F form a normative part of this standard; annexesA,B,C,E,G,H,I,J, the bibliography, and the indexare for information only.Inaccordance with Part 3 of the ISO/IEC Directives, this foreword, the introduction, notes, footnotes, and examples are also for information only.

Foreword xiii

ISO/IEC 9899:TC2Committee Draft — May 6, 2005WG14/N1124


1With the introduction of newdevices and extended character sets, newfeatures may be added to this International Standard.Subclauses in the language and library clauses warn implementors and programmers of usages which, though valid in themselves, may conflict with future additions.

2Certain features areobsolescent,which means that theymay be considered for withdrawalinfuture revisions of this International Standard.Theyare retained because of their widespread use, but their use in newimplementations (for implementation features) or newprograms (for language [6.1] or library features [7.26]) is discouraged.

3This International Standard is divided into four major subdivisions: —preliminary elements (clauses 1−4);

—the characteristics of environments that translate and execute C programs (clause 5);

—the language syntax, constraints, and semantics (clause 6);

—the library facilities (clause 7).

4Examples are provided to illustrate possible forms of the constructions described.

Footnotes are provided to emphasize consequences of the rules described in that subclause or elsewhere in this International Standard.References are used to refer to other related subclauses.Recommendations are provided to give advice or guidance to implementors. Annexesprovide additional information and summarize the information contained in this International Standard.Abibliographylists documents that were referred to during the preparation of the standard.

5The language clause (clause 6) is derivedfrom ‘‘The C Reference Manual’’. 6The library clause (clause 7) is based on the1984 /usr/group Standard.

xiv Introduction

INTERNATIONAL STANDARD ©ISO/IEC ISO/IEC 9899:TC2 Programming languages — C

1. Scope

1This International Standard specifies the form and establishes the interpretation of programs written in the C programming language.1)It specifies

—the representation of C programs;

—the syntax and constraints of the C language;

—the semantic rules for interpreting C programs;

—the representation of input data to be processed by C programs;

—the representation of output data produced by C programs;

—the restrictions and limits imposed by a conforming implementation of C. 2This International Standard does not specify

—the mechanism by which C programs are transformed for use by a data-processing system;

—the mechanism by which C programs are invokedfor use by a data-processing system;

—the mechanism by which input data are transformed for use by a C program;

—the mechanism by which output data are transformed after being produced by a C program;

—the size or complexity of a program and its data that will exceed the capacity of any specific data-processing system or the capacity of a particular processor;

1)This International Standard is designed to promote the portability of C programs among a variety of data-processing systems.It is intended for use by implementors and programmers.

§1 General1

(Parte 2 de 11)