{"id":353394,"date":"2024-10-20T00:57:48","date_gmt":"2024-10-20T00:57:48","guid":{"rendered":"https:\/\/pdfstandards.shop\/product\/uncategorized\/bs-iso-iec-98992018\/"},"modified":"2024-10-26T01:04:45","modified_gmt":"2024-10-26T01:04:45","slug":"bs-iso-iec-98992018","status":"publish","type":"product","link":"https:\/\/pdfstandards.shop\/product\/publishers\/bsi\/bs-iso-iec-98992018\/","title":{"rendered":"BS ISO\/IEC 9899:2018"},"content":{"rendered":"
This document specifies the form and establishes the interpretation of programs written in the C programming language.1)<\/sup> It specifies<\/p>\n the representation of C programs;<\/p>\n<\/li>\n the syntax and constraints of the C language;<\/p>\n<\/li>\n the semantic rules for interpreting C programs;<\/p>\n<\/li>\n the representation of input data to be processed by C programs;<\/p>\n<\/li>\n the representation of output data produced by C programs;<\/p>\n<\/li>\n the restrictions and limits imposed by a conforming implementation of C.<\/p>\n<\/li>\n<\/ul>\n This document does not specify<\/p>\n the mechanism by which C programs are transformed for use by a data-processing system;<\/p>\n<\/li>\n the mechanism by which C programs are invoked for use by a data-processing system;<\/p>\n<\/li>\n the mechanism by which input data are transformed for use by a C program;<\/p>\n<\/li>\n the mechanism by which output data are transformed after being produced by a C program;<\/p>\n<\/li>\n 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;<\/p>\n<\/li>\n all minimal requirements of a data-processing system that is capable of supporting a conforming implementation.<\/p>\n<\/li>\n<\/ul>\n\n
\n
PDF Catalog<\/h4>\n
\n
\n PDF Pages<\/th>\n PDF Title<\/th>\n<\/tr>\n \n 2<\/td>\n undefined <\/td>\n<\/tr>\n \n 3<\/td>\n 74528.pdf <\/td>\n<\/tr>\n \n 5<\/td>\n Contents <\/td>\n<\/tr>\n \n 13<\/td>\n Foreword <\/td>\n<\/tr>\n \n 14<\/td>\n Introduction <\/td>\n<\/tr>\n \n 15<\/td>\n 1 Scope <\/td>\n<\/tr>\n \n 16<\/td>\n 2 Normative references <\/td>\n<\/tr>\n \n 17<\/td>\n 3 Terms, definitions, and symbols
3.1 access (verb)
3.2 alignment
3.3 argument
3.4 behavior
3.4.1 implementation-defined behavior
3.4.2 locale-specific behavior <\/td>\n<\/tr>\n\n 18<\/td>\n 3.4.3 undefined behavior
3.4.4 unspecified behavior
3.5 bit
3.6 byte
3.7 character
3.7.1 character
3.7.2 multibyte character <\/td>\n<\/tr>\n\n 19<\/td>\n 3.7.3 wide character
3.8 constraint
3.9 correctly rounded result
3.10 diagnostic message
3.11 forward reference
3.12 implementation
3.13 implementation limit
3.14 memory location <\/td>\n<\/tr>\n\n 20<\/td>\n 3.15 object
3.16 parameter
3.17 recommended practice
3.18 runtime-constraint
3.19 value
3.19.1 implementation-defined value
3.19.2 indeterminate value
3.19.3 unspecified value <\/td>\n<\/tr>\n\n 21<\/td>\n 3.19.4 trap representation
3.19.5 perform a trap
3.20 ceiling
3.21 floor <\/td>\n<\/tr>\n\n 22<\/td>\n 4 Conformance <\/td>\n<\/tr>\n \n 23<\/td>\n 5 Environment
5.1 Conceptual models
5.1.1 Translation environment
5.1.1.1 Program structure
5.1.1.2 Translation phases <\/td>\n<\/tr>\n\n 24<\/td>\n 5.1.1.3 Diagnostics
5.1.2 Execution environments
5.1.2.1 Freestanding environment
5.1.2.2 Hosted environment <\/td>\n<\/tr>\n\n 25<\/td>\n 5.1.2.2.1 Program startup
5.1.2.2.2 Program execution
5.1.2.2.3 Program termination
5.1.2.3 Program execution <\/td>\n<\/tr>\n\n 28<\/td>\n 5.1.2.4 Multi-threaded executions and data races <\/td>\n<\/tr>\n \n 31<\/td>\n 5.2 Environmental considerations
5.2.1 Character sets <\/td>\n<\/tr>\n\n 32<\/td>\n 5.2.1.1 Trigraph sequences
5.2.1.2 Multibyte characters <\/td>\n<\/tr>\n\n 33<\/td>\n 5.2.2 Character display semantics
5.2.3 Signals and interrupts
5.2.4 Environmental limits
5.2.4.1 Translation limits <\/td>\n<\/tr>\n\n 34<\/td>\n 5.2.4.2 Numerical limits
5.2.4.2.1 Sizes of integer types <\/td>\n<\/tr>\n\n 36<\/td>\n 5.2.4.2.2 Characteristics of floating types <\/td>\n<\/tr>\n \n 42<\/td>\n 6 Language
6.1 Notation
6.2 Concepts
6.2.1 Scopes of identifiers <\/td>\n<\/tr>\n\n 43<\/td>\n 6.2.2 Linkages of identifiers
6.2.3 Name spaces of identifiers <\/td>\n<\/tr>\n\n 44<\/td>\n 6.2.4 Storage durations of objects <\/td>\n<\/tr>\n \n 45<\/td>\n 6.2.5 Types <\/td>\n<\/tr>\n \n 47<\/td>\n 6.2.6 Representations of types
6.2.6.1 General <\/td>\n<\/tr>\n\n 48<\/td>\n 6.2.6.2 Integer types <\/td>\n<\/tr>\n \n 49<\/td>\n 6.2.7 Compatible type and composite type <\/td>\n<\/tr>\n \n 50<\/td>\n 6.2.8 Alignment of objects <\/td>\n<\/tr>\n \n 51<\/td>\n 6.3 Conversions
6.3.1 Arithmetic operands
6.3.1.1 Boolean, characters, and integers <\/td>\n<\/tr>\n\n 52<\/td>\n 6.3.1.2 Boolean type
6.3.1.3 Signed and unsigned integers
6.3.1.4 Real floating and integer <\/td>\n<\/tr>\n\n 53<\/td>\n 6.3.1.5 Real floating types
6.3.1.6 Complex types
6.3.1.7 Real and complex
6.3.1.8 Usual arithmetic conversions <\/td>\n<\/tr>\n\n 54<\/td>\n 6.3.2 Other operands
6.3.2.1 Lvalues, arrays, and function designators
6.3.2.2 void <\/td>\n<\/tr>\n\n 55<\/td>\n 6.3.2.3 Pointers
6.4 Lexical elements <\/td>\n<\/tr>\n\n 56<\/td>\n 6.4.1 Keywords <\/td>\n<\/tr>\n \n 57<\/td>\n 6.4.2 Identifiers
6.4.2.1 General <\/td>\n<\/tr>\n\n 58<\/td>\n 6.4.2.2 Predefined identifiers
6.4.3 Universal character names <\/td>\n<\/tr>\n\n 59<\/td>\n 6.4.4 Constants
6.4.4.1 Integer constants <\/td>\n<\/tr>\n\n 61<\/td>\n 6.4.4.2 Floating constants <\/td>\n<\/tr>\n \n 62<\/td>\n 6.4.4.3 Enumeration constants
6.4.4.4 Character constants <\/td>\n<\/tr>\n\n 64<\/td>\n 6.4.5 String literals <\/td>\n<\/tr>\n \n 66<\/td>\n 6.4.6 Punctuators <\/td>\n<\/tr>\n \n 67<\/td>\n 6.4.7 Header names
6.4.8 Preprocessing numbers <\/td>\n<\/tr>\n\n 68<\/td>\n 6.4.9 Comments <\/td>\n<\/tr>\n \n 69<\/td>\n 6.5 Expressions <\/td>\n<\/tr>\n \n 70<\/td>\n 6.5.1 Primary expressions
6.5.1.1 Generic selection <\/td>\n<\/tr>\n\n 71<\/td>\n 6.5.2 Postfix operators
6.5.2.1 Array subscripting <\/td>\n<\/tr>\n\n 72<\/td>\n 6.5.2.2 Function calls <\/td>\n<\/tr>\n \n 73<\/td>\n 6.5.2.3 Structure and union members <\/td>\n<\/tr>\n \n 75<\/td>\n 6.5.2.4 Postfix increment and decrement operators
6.5.2.5 Compound literals <\/td>\n<\/tr>\n\n 77<\/td>\n 6.5.3 Unary operators
6.5.3.1 Prefix increment and decrement operators <\/td>\n<\/tr>\n\n 78<\/td>\n 6.5.3.2 Address and indirection operators
6.5.3.3 Unary arithmetic operators
6.5.3.4 The sizeof and _Alignof operators <\/td>\n<\/tr>\n\n 79<\/td>\n 6.5.4 Cast operators <\/td>\n<\/tr>\n \n 80<\/td>\n 6.5.5 Multiplicative operators
6.5.6 Additive operators <\/td>\n<\/tr>\n\n 82<\/td>\n 6.5.7 Bitwise shift operators
6.5.8 Relational operators <\/td>\n<\/tr>\n\n 83<\/td>\n 6.5.9 Equality operators <\/td>\n<\/tr>\n \n 84<\/td>\n 6.5.10 Bitwise AND operator
6.5.11 Bitwise exclusive OR operator
6.5.12 Bitwise inclusive OR operator <\/td>\n<\/tr>\n\n 85<\/td>\n 6.5.13 Logical AND operator
6.5.14 Logical OR operator
6.5.15 Conditional operator <\/td>\n<\/tr>\n\n 86<\/td>\n 6.5.16 Assignment operators <\/td>\n<\/tr>\n \n 87<\/td>\n 6.5.16.1 Simple assignment <\/td>\n<\/tr>\n \n 88<\/td>\n 6.5.16.2 Compound assignment <\/td>\n<\/tr>\n \n 89<\/td>\n 6.5.17 Comma operator <\/td>\n<\/tr>\n \n 90<\/td>\n 6.6 Constant expressions <\/td>\n<\/tr>\n \n 92<\/td>\n 6.7 Declarations <\/td>\n<\/tr>\n \n 93<\/td>\n 6.7.1 Storage-class specifiers
6.7.2 Type specifiers <\/td>\n<\/tr>\n\n 95<\/td>\n 6.7.2.1 Structure and union specifiers <\/td>\n<\/tr>\n \n 98<\/td>\n 6.7.2.2 Enumeration specifiers <\/td>\n<\/tr>\n \n 99<\/td>\n 6.7.2.3 Tags <\/td>\n<\/tr>\n \n 101<\/td>\n 6.7.2.4 Atomic type specifiers
6.7.3 Type qualifiers <\/td>\n<\/tr>\n\n 103<\/td>\n 6.7.3.1 Formal definition of restrict <\/td>\n<\/tr>\n \n 104<\/td>\n 6.7.4 Function specifiers <\/td>\n<\/tr>\n \n 106<\/td>\n 6.7.5 Alignment specifier
6.7.6 Declarators <\/td>\n<\/tr>\n\n 107<\/td>\n 6.7.6.1 Pointer declarators <\/td>\n<\/tr>\n \n 108<\/td>\n 6.7.6.2 Array declarators <\/td>\n<\/tr>\n \n 110<\/td>\n 6.7.6.3 Function declarators (including prototypes) <\/td>\n<\/tr>\n \n 112<\/td>\n 6.7.7 Type names <\/td>\n<\/tr>\n \n 113<\/td>\n 6.7.8 Type definitions <\/td>\n<\/tr>\n \n 114<\/td>\n 6.7.9 Initialization <\/td>\n<\/tr>\n \n 119<\/td>\n 6.7.10 Static assertions <\/td>\n<\/tr>\n \n 120<\/td>\n 6.8 Statements and blocks
6.8.1 Labeled statements <\/td>\n<\/tr>\n\n 121<\/td>\n 6.8.2 Compound statement
6.8.3 Expression and null statements <\/td>\n<\/tr>\n\n 122<\/td>\n 6.8.4 Selection statements
6.8.4.1 The if statement
6.8.4.2 The switch statement <\/td>\n<\/tr>\n\n 123<\/td>\n 6.8.5 Iteration statements
6.8.5.1 The while statement
6.8.5.2 The do statement <\/td>\n<\/tr>\n\n 124<\/td>\n 6.8.5.3 The for statement
6.8.6 Jump statements
6.8.6.1 The goto statement <\/td>\n<\/tr>\n\n 125<\/td>\n 6.8.6.2 The continue statement
6.8.6.3 The break statement
6.8.6.4 The return statement <\/td>\n<\/tr>\n\n 127<\/td>\n 6.9 External definitions
6.9.1 Function definitions <\/td>\n<\/tr>\n\n 129<\/td>\n 6.9.2 External object definitions <\/td>\n<\/tr>\n \n 131<\/td>\n 6.10 Preprocessing directives <\/td>\n<\/tr>\n \n 132<\/td>\n 6.10.1 Conditional inclusion <\/td>\n<\/tr>\n \n 133<\/td>\n 6.10.2 Source file inclusion <\/td>\n<\/tr>\n \n 135<\/td>\n 6.10.3 Macro replacement <\/td>\n<\/tr>\n \n 136<\/td>\n 6.10.3.1 Argument substitution
6.10.3.2 The # operator
6.10.3.3 The ## operator <\/td>\n<\/tr>\n\n 137<\/td>\n 6.10.3.4 Rescanning and further replacement <\/td>\n<\/tr>\n \n 138<\/td>\n 6.10.3.5 Scope of macro definitions <\/td>\n<\/tr>\n \n 140<\/td>\n 6.10.4 Line control
6.10.5 Error directive <\/td>\n<\/tr>\n\n 141<\/td>\n 6.10.6 Pragma directive
6.10.7 Null directive
6.10.8 Predefined macro names
6.10.8.1 Mandatory macros <\/td>\n<\/tr>\n\n 142<\/td>\n 6.10.8.2 Environment macros
6.10.8.3 Conditional feature macros <\/td>\n<\/tr>\n\n 143<\/td>\n 6.10.9 Pragma operator <\/td>\n<\/tr>\n \n 144<\/td>\n 6.11 Future language directions
6.11.1 Floating types
6.11.2 Linkages of identifiers
6.11.3 External names
6.11.4 Character escape sequences
6.11.5 Storage-class specifiers
6.11.6 Function declarators
6.11.7 Function definitions
6.11.8 Pragma directives
6.11.9 Predefined macro names <\/td>\n<\/tr>\n\n 145<\/td>\n 7 Library
7.1 Introduction
7.1.1 Definitions of terms
7.1.2 Standard headers <\/td>\n<\/tr>\n\n 146<\/td>\n 7.1.3 Reserved identifiers
7.1.4 Use of library functions <\/td>\n<\/tr>\n\n 149<\/td>\n 7.2 Diagnostics
7.2.1 Program diagnostics
7.2.1.1 The assert macro <\/td>\n<\/tr>\n\n 150<\/td>\n 7.3 Complex arithmetic
7.3.1 Introduction
7.3.2 Conventions
7.3.3 Branch cuts <\/td>\n<\/tr>\n\n 151<\/td>\n 7.3.4 The CX_LIMITED_RANGE pragma
7.3.5 Trigonometric functions
7.3.5.1 The cacos functions <\/td>\n<\/tr>\n\n 152<\/td>\n 7.3.5.2 The casin functions
7.3.5.3 The catan functions
7.3.5.4 The ccos functions
7.3.5.5 The csin functions <\/td>\n<\/tr>\n\n 153<\/td>\n 7.3.5.6 The ctan functions
7.3.6 Hyperbolic functions
7.3.6.1 The cacosh functions
7.3.6.2 The casinh functions
7.3.6.3 The catanh functions <\/td>\n<\/tr>\n\n 154<\/td>\n 7.3.6.4 The ccosh functions
7.3.6.5 The csinh functions
7.3.6.6 The ctanh functions
7.3.7 Exponential and logarithmic functions
7.3.7.1 The cexp functions <\/td>\n<\/tr>\n\n 155<\/td>\n 7.3.7.2 The clog functions
7.3.8 Power and absolute-value functions
7.3.8.1 The cabs functions
7.3.8.2 The cpow functions <\/td>\n<\/tr>\n\n 156<\/td>\n 7.3.8.3 The csqrt functions
7.3.9 Manipulation functions
7.3.9.1 The carg functions
7.3.9.2 The cimag functions
7.3.9.3 The CMPLX macros <\/td>\n<\/tr>\n\n 157<\/td>\n 7.3.9.4 The conj functions
7.3.9.5 The cproj functions
7.3.9.6 The creal functions <\/td>\n<\/tr>\n\n 159<\/td>\n 7.4 Character handling
7.4.1 Character classification functions
7.4.1.1 The isalnum function
7.4.1.2 The isalpha function
7.4.1.3 The isblank function <\/td>\n<\/tr>\n\n 160<\/td>\n 7.4.1.4 The iscntrl function
7.4.1.5 The isdigit function
7.4.1.6 The isgraph function
7.4.1.7 The islower function
7.4.1.8 The isprint function
7.4.1.9 The ispunct function <\/td>\n<\/tr>\n\n 161<\/td>\n 7.4.1.10 The isspace function
7.4.1.11 The isupper function
7.4.1.12 The isxdigit function
7.4.2 Character case mapping functions
7.4.2.1 The tolower function
7.4.2.2 The toupper function <\/td>\n<\/tr>\n\n 163<\/td>\n 7.5 Errors <\/td>\n<\/tr>\n \n 164<\/td>\n 7.6 Floating-point environment <\/td>\n<\/tr>\n \n 165<\/td>\n 7.6.1 The FENV_ACCESS pragma <\/td>\n<\/tr>\n \n 166<\/td>\n 7.6.2 Floating-point exceptions
7.6.2.1 The feclearexcept function
7.6.2.2 The fegetexceptflag function <\/td>\n<\/tr>\n\n 167<\/td>\n 7.6.2.3 The feraiseexcept function
7.6.2.4 The fesetexceptflag function
7.6.2.5 The fetestexcept function <\/td>\n<\/tr>\n\n 168<\/td>\n 7.6.3 Rounding
7.6.3.1 The fegetround function
7.6.3.2 The fesetround function <\/td>\n<\/tr>\n\n 169<\/td>\n 7.6.4 Environment
7.6.4.1 The fegetenv function
7.6.4.2 The feholdexcept function
7.6.4.3 The fesetenv function <\/td>\n<\/tr>\n\n 170<\/td>\n 7.6.4.4 The feupdateenv function <\/td>\n<\/tr>\n \n 171<\/td>\n 7.7 Characteristics of floating types <\/td>\n<\/tr>\n \n 172<\/td>\n 7.8 Format conversion of integer types
7.8.1 Macros for format specifiers <\/td>\n<\/tr>\n\n 173<\/td>\n 7.8.2 Functions for greatest-width integer types
7.8.2.1 The imaxabs function
7.8.2.2 The imaxdiv function
7.8.2.3 The strtoimax and strtoumax functions
7.8.2.4 The wcstoimax and wcstoumax functions <\/td>\n<\/tr>\n\n 175<\/td>\n 7.9 Alternative spellings <\/td>\n<\/tr>\n \n 176<\/td>\n 7.10 Sizes of integer types <\/td>\n<\/tr>\n \n 177<\/td>\n 7.11 Localization
7.11.1 Locale control
7.11.1.1 The setlocale function <\/td>\n<\/tr>\n\n 178<\/td>\n 7.11.2 Numeric formatting convention inquiry
7.11.2.1 The localeconv function <\/td>\n<\/tr>\n\n 183<\/td>\n 7.12 Mathematics <\/td>\n<\/tr>\n \n 184<\/td>\n 7.12.1 Treatment of error conditions <\/td>\n<\/tr>\n \n 185<\/td>\n 7.12.2 The FP_CONTRACT pragma <\/td>\n<\/tr>\n \n 186<\/td>\n 7.12.3 Classification macros
7.12.3.1 The fpclassify macro
7.12.3.2 The isfinite macro
7.12.3.3 The isinf macro
7.12.3.4 The isnan macro <\/td>\n<\/tr>\n\n 187<\/td>\n 7.12.3.5 The isnormal macro
7.12.3.6 The signbit macro
7.12.4 Trigonometric functions
7.12.4.1 The acos functions <\/td>\n<\/tr>\n\n 188<\/td>\n 7.12.4.2 The asin functions
7.12.4.3 The atan functions
7.12.4.4 The atan2 functions
7.12.4.5 The cos functions <\/td>\n<\/tr>\n\n 189<\/td>\n 7.12.4.6 The sin functions
7.12.4.7 The tan functions
7.12.5 Hyperbolic functions
7.12.5.1 The acosh functions
7.12.5.2 The asinh functions <\/td>\n<\/tr>\n\n 190<\/td>\n 7.12.5.3 The atanh functions
7.12.5.4 The cosh functions
7.12.5.5 The sinh functions
7.12.5.6 The tanh functions <\/td>\n<\/tr>\n\n 191<\/td>\n 7.12.6 Exponential and logarithmic functions
7.12.6.1 The exp functions
7.12.6.2 The exp2 functions
7.12.6.3 The expm1 functions
7.12.6.4 The frexp functions <\/td>\n<\/tr>\n\n 192<\/td>\n 7.12.6.5 The ilogb functions
7.12.6.6 The ldexp functions
7.12.6.7 The log functions <\/td>\n<\/tr>\n\n 193<\/td>\n 7.12.6.8 The log10 functions
7.12.6.9 The log1p functions
7.12.6.10 The log2 functions
7.12.6.11 The logb functions <\/td>\n<\/tr>\n\n 194<\/td>\n 7.12.6.12 The modf functions
7.12.6.13 The scalbn and scalbln functions
7.12.7 Power and absolute-value functions
7.12.7.1 The cbrt functions <\/td>\n<\/tr>\n\n 195<\/td>\n 7.12.7.2 The fabs functions
7.12.7.3 The hypot functions
7.12.7.4 The pow functions
7.12.7.5 The sqrt functions <\/td>\n<\/tr>\n\n 196<\/td>\n 7.12.8 Error and gamma functions
7.12.8.1 The erf functions
7.12.8.2 The erfc functions
7.12.8.3 The lgamma functions <\/td>\n<\/tr>\n\n 197<\/td>\n 7.12.8.4 The tgamma functions
7.12.9 Nearest integer functions
7.12.9.1 The ceil functions
7.12.9.2 The floor functions
7.12.9.3 The nearbyint functions <\/td>\n<\/tr>\n\n 198<\/td>\n 7.12.9.4 The rint functions
7.12.9.5 The lrint and llrint functions
7.12.9.6 The round functions
7.12.9.7 The lround and llround functions <\/td>\n<\/tr>\n\n 199<\/td>\n 7.12.9.8 The trunc functions
7.12.10 Remainder functions
7.12.10.1 The fmod functions
7.12.10.2 The remainder functions <\/td>\n<\/tr>\n\n 200<\/td>\n 7.12.10.3 The remquo functions
7.12.11 Manipulation functions
7.12.11.1 The copysign functions
7.12.11.2 The nan functions <\/td>\n<\/tr>\n\n 201<\/td>\n 7.12.11.3 The nextafter functions
7.12.11.4 The nexttoward functions
7.12.12 Maximum, minimum, and positive difference functions
7.12.12.1 The fdim functions <\/td>\n<\/tr>\n\n 202<\/td>\n 7.12.12.2 The fmax functions
7.12.12.3 The fmin functions
7.12.13 Floating multiply-add
7.12.13.1 The fma functions <\/td>\n<\/tr>\n\n 203<\/td>\n 7.12.14 Comparison macros
7.12.14.1 The isgreater macro
7.12.14.2 The isgreaterequal macro
7.12.14.3 The isless macro <\/td>\n<\/tr>\n\n 204<\/td>\n 7.12.14.4 The islessequal macro
7.12.14.5 The islessgreater macro
7.12.14.6 The isunordered macro <\/td>\n<\/tr>\n\n 205<\/td>\n 7.13 Nonlocal jumps
7.13.1 Save calling environment
7.13.1.1 The setjmp macro
7.13.2 Restore calling environment
7.13.2.1 The longjmp function <\/td>\n<\/tr>\n\n 207<\/td>\n 7.14 Signal handling
7.14.1 Specify signal handling
7.14.1.1 The signal function <\/td>\n<\/tr>\n\n 208<\/td>\n 7.14.2 Send signal
7.14.2.1 The raise function <\/td>\n<\/tr>\n\n 210<\/td>\n 7.15 Alignment <\/td>\n<\/tr>\n \n 211<\/td>\n 7.16 Variable arguments
7.16.1 Variable argument list access macros
7.16.1.1 The va_arg macro <\/td>\n<\/tr>\n\n 212<\/td>\n 7.16.1.2 The va_copy macro
7.16.1.3 The va_end macro
7.16.1.4 The va_start macro <\/td>\n<\/tr>\n\n 214<\/td>\n 7.17 Atomics
7.17.1 Introduction <\/td>\n<\/tr>\n\n 215<\/td>\n 7.17.2 Initialization
7.17.2.1 The ATOMIC_VAR_INIT macro
7.17.2.2 The atomic_init generic function
7.17.3 Order and consistency <\/td>\n<\/tr>\n\n 217<\/td>\n 7.17.3.1 The kill_dependency macro <\/td>\n<\/tr>\n \n 218<\/td>\n 7.17.4 Fences
7.17.4.1 The atomic_thread_fence function
7.17.4.2 The atomic_signal_fence function <\/td>\n<\/tr>\n\n 219<\/td>\n 7.17.5 Lock-free property
7.17.5.1 The atomic_islockfree generic function
7.17.6 Atomic integer types <\/td>\n<\/tr>\n\n 220<\/td>\n 7.17.7 Operations on atomic types
7.17.7.1 The atomic_store generic functions
7.17.7.2 The atomic_load generic functions <\/td>\n<\/tr>\n\n 221<\/td>\n 7.17.7.3 The atomic_exchange generic functions
7.17.7.4 The atomic_compare_exchange generic functions <\/td>\n<\/tr>\n\n 222<\/td>\n 7.17.7.5 The atomic_fetch and modify generic functions
7.17.8 Atomic flag type and operations <\/td>\n<\/tr>\n\n 223<\/td>\n 7.17.8.1 The atomic_flag_test_and_set functions
7.17.8.2 The atomic_flag_clear functions <\/td>\n<\/tr>\n\n 224<\/td>\n 7.18 Boolean type and values <\/td>\n<\/tr>\n \n 225<\/td>\n 7.19 Common definitions <\/td>\n<\/tr>\n \n 226<\/td>\n 7.20 Integer types
7.20.1 Integer types
7.20.1.1 Exact-width integer types
7.20.1.2 Minimum-width integer types <\/td>\n<\/tr>\n\n 227<\/td>\n 7.20.1.3 Fastest minimum-width integer types
7.20.1.4 Integer types capable of holding object pointers
7.20.1.5 Greatest-width integer types
7.20.2 Limits of specified-width integer types <\/td>\n<\/tr>\n\n 228<\/td>\n 7.20.2.1 Limits of exact-width integer types
7.20.2.2 Limits of minimum-width integer types
7.20.2.3 Limits of fastest minimum-width integer types
7.20.2.4 Limits of integer types capable of holding object pointers <\/td>\n<\/tr>\n\n 229<\/td>\n 7.20.2.5 Limits of greatest-width integer types
7.20.3 Limits of other integer types <\/td>\n<\/tr>\n\n 230<\/td>\n 7.20.4 Macros for integer constants
7.20.4.1 Macros for minimum-width integer constants
7.20.4.2 Macros for greatest-width integer constants <\/td>\n<\/tr>\n\n 231<\/td>\n 7.21 Input\/output
7.21.1 Introduction <\/td>\n<\/tr>\n\n 232<\/td>\n 7.21.2 Streams <\/td>\n<\/tr>\n \n 233<\/td>\n 7.21.3 Files <\/td>\n<\/tr>\n \n 235<\/td>\n 7.21.4 Operations on files
7.21.4.1 The remove function
7.21.4.2 The rename function <\/td>\n<\/tr>\n\n 236<\/td>\n 7.21.4.3 The tmpfile function
7.21.4.4 The tmpnam function
7.21.5 File access functions
7.21.5.1 The fclose function <\/td>\n<\/tr>\n\n 237<\/td>\n 7.21.5.2 The fflush function
7.21.5.3 The fopen function <\/td>\n<\/tr>\n\n 238<\/td>\n 7.21.5.4 The freopen function <\/td>\n<\/tr>\n \n 239<\/td>\n 7.21.5.5 The setbuf function
7.21.5.6 The setvbuf function
7.21.6 Formatted input\/output functions <\/td>\n<\/tr>\n\n 240<\/td>\n 7.21.6.1 The fprintf function <\/td>\n<\/tr>\n \n 246<\/td>\n 7.21.6.2 The fscanf function <\/td>\n<\/tr>\n \n 251<\/td>\n 7.21.6.3 The printf function
7.21.6.4 The scanf function <\/td>\n<\/tr>\n\n 252<\/td>\n 7.21.6.5 The snprintf function
7.21.6.6 The sprintf function
7.21.6.7 The sscanf function <\/td>\n<\/tr>\n\n 253<\/td>\n 7.21.6.8 The vfprintf function
7.21.6.9 The vfscanf function <\/td>\n<\/tr>\n\n 254<\/td>\n 7.21.6.10 The vprintf function
7.21.6.11 The vscanf function
7.21.6.12 The vsnprintf function <\/td>\n<\/tr>\n\n 255<\/td>\n 7.21.6.13 The vsprintf function
7.21.6.14 The vsscanf function
7.21.7 Character input\/output functions
7.21.7.1 The fgetc function <\/td>\n<\/tr>\n\n 256<\/td>\n 7.21.7.2 The fgets function
7.21.7.3 The fputc function
7.21.7.4 The fputs function <\/td>\n<\/tr>\n\n 257<\/td>\n 7.21.7.5 The getc function
7.21.7.6 The getchar function
7.21.7.7 The putc function
7.21.7.8 The putchar function <\/td>\n<\/tr>\n\n 258<\/td>\n 7.21.7.9 The puts function
7.21.7.10 The ungetc function
7.21.8 Direct input\/output functions
7.21.8.1 The fread function <\/td>\n<\/tr>\n\n 259<\/td>\n 7.21.8.2 The fwrite function
7.21.9 File positioning functions
7.21.9.1 The fgetpos function <\/td>\n<\/tr>\n\n 260<\/td>\n 7.21.9.2 The fseek function
7.21.9.3 The fsetpos function
7.21.9.4 The ftell function <\/td>\n<\/tr>\n\n 261<\/td>\n 7.21.9.5 The rewind function
7.21.10 Error-handling functions
7.21.10.1 The clearerr function
7.21.10.2 The feof function <\/td>\n<\/tr>\n\n 262<\/td>\n 7.21.10.3 The ferror function
7.21.10.4 The perror function <\/td>\n<\/tr>\n\n 263<\/td>\n 7.22 General utilities
7.22.1 Numeric conversion functions
7.22.1.1 The atof function <\/td>\n<\/tr>\n\n 264<\/td>\n 7.22.1.2 The atoi, atol, and atoll functions
7.22.1.3 The strtod, strtof, and strtold functions <\/td>\n<\/tr>\n\n 266<\/td>\n 7.22.1.4 The strtol, strtoll, strtoul, and strtoull functions <\/td>\n<\/tr>\n \n 267<\/td>\n 7.22.2 Pseudo-random sequence generation functions
7.22.2.1 The rand function
7.22.2.2 The srand function <\/td>\n<\/tr>\n\n 268<\/td>\n 7.22.3 Memory management functions
7.22.3.1 The alignedalloc function
7.22.3.2 The calloc function <\/td>\n<\/tr>\n\n 269<\/td>\n 7.22.3.3 The free function
7.22.3.4 The malloc function
7.22.3.5 The realloc function <\/td>\n<\/tr>\n\n 270<\/td>\n 7.22.4 Communication with the environment
7.22.4.1 The abort function
7.22.4.2 The atexit function
7.22.4.3 The atquickexit function <\/td>\n<\/tr>\n\n 271<\/td>\n 7.22.4.4 The exit function
7.22.4.5 The Exit function
7.22.4.6 The getenv function <\/td>\n<\/tr>\n\n 272<\/td>\n 7.22.4.7 The quickexit function
7.22.4.8 The system function <\/td>\n<\/tr>\n\n 273<\/td>\n 7.22.5 Searching and sorting utilities
7.22.5.1 The bsearch function <\/td>\n<\/tr>\n\n 274<\/td>\n 7.22.5.2 The qsort function
7.22.6 Integer arithmetic functions
7.22.6.1 The abs, labs and dlabs functions
7.22.6.2 The div, ldiv, and lldiv functions <\/td>\n<\/tr>\n\n 275<\/td>\n 7.22.7 Multibyte\/wide character conversion functions
7.22.7.1 The mblen function
7.22.7.2 The mbtowc function <\/td>\n<\/tr>\n\n 276<\/td>\n 7.22.7.3 The wctomb function
7.22.8 Multibyte\/wide string conversion functions
7.22.8.1 The mbstowcs function <\/td>\n<\/tr>\n\n 277<\/td>\n 7.22.8.2 The wcstombs function <\/td>\n<\/tr>\n \n 278<\/td>\n 7.23 _Noreturn <\/td>\n<\/tr>\n \n 279<\/td>\n 7.24 String handling
7.24.1 String function conventions
7.24.2 Copying functions
7.24.2.1 The memcpy function
7.24.2.2 The memmove function
7.24.2.3 The strcpy function <\/td>\n<\/tr>\n\n 280<\/td>\n 7.24.2.4 The strncpy function
7.24.3 Concatenation functions
7.24.3.1 The strcat function
7.24.3.2 The strncat function <\/td>\n<\/tr>\n\n 281<\/td>\n 7.24.4 Comparison functions
7.24.4.1 The memcmp function
7.24.4.2 The strcmp function
7.24.4.3 The strcoll function <\/td>\n<\/tr>\n\n 282<\/td>\n 7.24.4.4 The strncmp function
7.24.4.5 The strxfrm function
7.24.5 Search functions
7.24.5.1 The memchr function <\/td>\n<\/tr>\n\n 283<\/td>\n 7.24.5.2 The strchr function
7.24.5.3 The strcspn function
7.24.5.4 The strpbrk function
7.24.5.5 The strrchr function <\/td>\n<\/tr>\n\n 284<\/td>\n 7.24.5.6 The strspn function
7.24.5.7 The strstr function
7.24.5.8 The strtok function <\/td>\n<\/tr>\n\n 285<\/td>\n 7.24.6 Miscellaneous functions
7.24.6.1 The memset function
7.24.6.2 The strerror function <\/td>\n<\/tr>\n\n 286<\/td>\n 7.24.6.3 The strlen function <\/td>\n<\/tr>\n \n 287<\/td>\n 7.25 Type-generic math <\/td>\n<\/tr>\n \n 289<\/td>\n 7.26 Threads
7.26.1 Introduction <\/td>\n<\/tr>\n\n 290<\/td>\n 7.26.2 Initialization functions
7.26.2.1 The callonce function
7.26.3 Condition variable functions
7.26.3.1 The cndbroadcast function <\/td>\n<\/tr>\n\n 291<\/td>\n 7.26.3.2 The cnddestroy function
7.26.3.3 The cndinit function
7.26.3.4 The cndsignal function
7.26.3.5 The cndtimedwait function <\/td>\n<\/tr>\n\n 292<\/td>\n 7.26.3.6 The cndwait function
7.26.4 Mutex functions
7.26.4.1 The mtxdestroy function
7.26.4.2 The mtxinit function <\/td>\n<\/tr>\n\n 293<\/td>\n 7.26.4.3 The mtxlock function
7.26.4.4 The mtxtimedlock function
7.26.4.5 The mtxtrylock function <\/td>\n<\/tr>\n\n 294<\/td>\n 7.26.4.6 The mtxunlock function
7.26.5 Thread functions
7.26.5.1 The thrdcreate function
7.26.5.2 The thrdcurrent function <\/td>\n<\/tr>\n\n 295<\/td>\n 7.26.5.3 The thrddetach function
7.26.5.4 The thrdequal function
7.26.5.5 The thrdexit function
7.26.5.6 The thrdjoin function <\/td>\n<\/tr>\n\n 296<\/td>\n 7.26.5.7 The thrdsleep function
7.26.5.8 The thrdyield function
7.26.6 Thread-specific storage functions
7.26.6.1 The tsscreate function <\/td>\n<\/tr>\n\n 297<\/td>\n 7.26.6.2 The tssdelete function
7.26.6.3 The tssget function
7.26.6.4 The tssset function <\/td>\n<\/tr>\n\n 299<\/td>\n 7.27 Date and time