WG14/N800 Working Draft, 1998-1-5 1 Index ! (logical negation operator), 6.3.3.3 != (inequality operator), 6.3.9 # operator, 6.1.5, 6.8.3.2 # preprocessing directive, 6.8.7 # punctuator, 6.1.6, 6.8 ## operator, 6.1.5, 6.8.3.3 #define preprocessing directive, 6.8.3 #elif preprocessing directive, 6.8.1 #else preprocessing directive, 6.8.1 #endif preprocessing directive, 6.8.1 #error preprocessing directive, 6.8.5 #if preprocessing directive, 5.2.4.2.1, 5.2.4.2.2, 6.8.1, 7.1.8 #ifdef preprocessing directive, 6.8.1 #ifndef preprocessing directive, 6.8.1 #include preprocessing directive, 5.1.1.2, 6.8.2 #line preprocessing directive, 6.8.4 #pragma preprocessing directive, 6.8.6 #undef preprocessing directive, 6.8.3.5, 7.1.3, 7.1.8 % (remainder operator), 6.3.5 %: (alternative spelling of #), 6.1.5, 6.1.6 %:%: (alternative spelling of ##), 6.1.5 %= (remainder assignment operator), 6.3.16.2 %> (alternative spelling of }), 6.1.5, 6.1.6 & (address operator), 6.2.2.1, 6.3.3.2 & (bitwise AND operator), 6.3.10 && (logical AND operator), 6.3.13 &= (bitwise AND assignment operator), 6.3.16.2 ' ' (space character), 5.1.1.2, 5.2.1, 6.1, 7.3.1.10 ( ) (cast operator), 6.1.5, 6.3.4 ( ) (function-call operator), 6.1.5, 6.3.2.2 ( ) (parentheses punctuator), 6.1.6, 6.5.5.3, 6.6.4, 6.6.5 ( ){ } (compound-literal operator), 6.1.5, 6.3.2.5 * (asterisk punctuator), 6.1.6, 6.5.5.1, 6.5.5.2 * (indirection operator), 6.3.2.1, 6.3.3.2 * (multiplication operator), 6.3.5 *= (multiplication assignment operator), 6.3.16.2 + (addition operator), 6.3.2.1, 6.3.3.2, 6.3.6 + (unary plus operator), 6.3.3.3 ++ (postfix increment operator), 6.2.2.1, 6.3.2.4 ++ (prefix increment operator), 6.2.2.1, 6.3.3.1 += (addition assignment operator), 6.3.16.2 , (comma operator), 6.3.17 , (comma punctuator), 6.1.6, 6.3.2, 6.5, 6.5.2.1, 6.5.2.2, 6.5.2.3, 6.5.8 - (subtraction operator), 6.3.6 - (unary minus operator), 6.3.3.3 -- (postfix decrement operator), 6.2.2.1, 6.3.2.4 -- (prefix decrement operator), 6.2.2.1, 6.3.3.1 -= (subtraction assignment operator), 6.3.16.2 -> (structure/union pointer operator), 6.3.2.3 Index 2 Working Draft, 1998-1-5 WG14/N800 . (structure/union member operator), 6.2.2.1, 6.3.2.3 . punctuator, 6.1.6, 6.5.8 ... (ellipsis punctuator), 6.1.6, 6.3.2.2, 6.5.5.3, 6.8.3 / (division operator), 6.3.5 /* */ (comment delimiters), 6.1.9 // (comment delimiters), 6.1.9 /= (division assignment operator), 6.3.16.2 : (colon punctuator), 6.1.6, 6.5.2.1 :> (alternative spelling of ]), 6.1.5, 6.1.6 ; (semicolon punctuator), 6.1.6, 6.5, 6.5.2.1, 6.6.3, 6.6.5, 6.6.6 < (less-than operator), 6.3.8 <% (alternative spelling of {), 6.1.5, 6.1.6 <: (alternative spelling of [), 6.1.5, 6.1.6 << (left-shift operator), 6.3.7 <<= (left-shift assignment operator), 6.3.16.2 <= (less-than-or-equal-to operator), 6.3.8 header, 7.2, D.4 header, 6.1.1, 7.8, 7.9, 7.20.8, G.5 header, 7.3, 7.20.2 header, 7.1.4, 7.20.1 header, 5.1.2.3, 5.2.4.2.2, 7.6, F, H header, 4, 5.2.4.2.2, 7.1.5 header, 6.8.1, 7.4, 7.4.2, 7.20.3 header, 4, 7.17 header, 4, 5.2.4.2.1, 6.1.2.5, 6.3.3.3, 6.3.7, 7.1.5 header, 7.5, 7.20.4 header, 6.3, 7.7, 7.9, 7.14.1.5, 7.19.4.1.1, F, F.9 header, 7.10 header, 7.11, 7.20.5 header, 4, 6.5.5.3, 7.12 header, 7.1.7, H header, 4, 6.1.3.4, 6.1.4, 6.2.2.1, 6.2.2.3, 6.3.3.4, 6.3.6, 7.1.6 header, 7.13, 7.20.6, F header, 7.14, 7.20.7, F header, 7.15, 7.20.9 header, 7.9, G.6 header, 7.16 header, 7.13.1, 7.19, 7.20.11, F header, 7.18, 7.20.10 = (equal-sign punctuator), 6.1.6, 6.5, 6.5.2.2, 6.5.8 = (simple assignment operator), 6.3.16.1 == (equality operator), 6.3.9 > (greater-than operator), 6.3.8 >= (greater-than-or-equal-to operator), 6.3.8 >> (right-shift operator), 6.3.7 >>= (right-shift assignment operator), 6.3.16.2 ? : (conditional operator), 6.1.5, 6.3.15 ?? (trigraph sequences), 5.2.1.1 [ ] (array subscript operator), 6.1.5, 6.3.2.1, 6.3.3.2 [ ] (brackets punctuator), 6.1.6, 6.5.5.2, 6.5.8 \ (backslash character), 5.1.1.2, 5.2.1, 6.1.3.4 Index WG14/N800 Working Draft, 1998-1-5 3 \ (escape character), 6.1.3.4 \" (double-quote escape sequence), 6.1.3.4, 6.1.4, 6.8.9 \\ (backslash escape sequence), 6.1.3.4, 6.8.9 \' (single-quote escape sequence), 6.1.3.4, 6.1.4 \0 (null character), 5.2.1, 6.1.3.4, 6.1.4 padding of binary stream, 7.13.2 \? (question-mark escape sequence), 6.1.3.4 \a (alert escape sequence), 5.2.2, 6.1.3.4 \b (backspace escape sequence), 5.2.2, 6.1.3.4 \f (form-feed escape sequence), 5.2.2, 6.1.3.4, 7.3.1.10 \n (new-line escape sequence), 5.2.2, 6.1.3.4, 7.3.1.10 \octal digits (octal-character escape sequence), 6.1.3.4 \r (carriage-return escape sequence), 5.2.2, 6.1.3.4, 7.3.1.10 \t (horizontal-tab escape sequence), 5.2.2, 6.1.3.4, 7.3.1.10 \U (universal character names), 5.2.1 \u (universal character names), 5.2.1 \v (vertical-tab escape sequence), 5.2.2, 6.1.3.4, 7.3.1.10 \xhexadecimal digits (hexadecimal-character escape sequence), 6.1.3.4 ^ (bitwise exclusive OR operator), 6.3.11 ^= (bitwise exclusive OR assignment operator), 6.3.16.2 __bool_true_false_are_defined macro, 7.1.7 __DATE__ macro, 6.8.8 __FILE__ macro, 6.8.8, 7.2.1.1 __func__ identifier, 6.1.2.7, 6.3.1.1, 7.2.1.1 __LINE__ macro, 6.8.8, 7.2.1.1 __STDC__ macro, 6.8.8 __STDC_CONSTANT_MACROS macro, 7.4.3 __STDC_FORMAT_MACROS macro, 7.4.4 __STDC_IEC_559__ macro, 6.8.8 __STDC_IEC_559_COMPLEX__ macro, 6.8.8 __STDC_LIMIT_MACROS macro, 7.4.2, 7.4.5 __STDC_VERSION__ macro, 6.8.8 __TIME__ macro, 6.8.8 _Complex_I macro, 7.8 _Imaginary_I macro, 7.8, G.5 _IOFBF macro, 7.13.1, 7.13.5.5, 7.13.5.6 _IOLBF macro, 7.13.1, 7.13.5.6 _IONBF macro, 7.13.1, 7.13.5.5, 7.13.5.6 _LOCALTIME macro, 7.16.1, 7.16.2.4, 7.16.2.6, 7.16.3.5 _NO_LEAP_SECONDS macro, 7.16.1, 7.16.2.4, 7.16.2.6, 7.16.3.5 _Pragma operator, 6.8.9 { } (braces punctuator), 6.1.6, 6.5.2.2, 6.5.2.3, 6.5.8, 6.6.2 { } (compound-literal operator), 6.1.5, 6.3.2.5 | (bitwise inclusive OR operator), 6.3.12 |= (bitwise inclusive OR assignment operator), 6.3.16.2 || (logical OR operator), 6.3.14 ~ (bitwise complement operator), 6.3.3.3 abort function, 7.2.1.1, 7.11.1.1, 7.13.3, 7.14.4.1 abs function, 7.14.6.1, 7.14.6.3, 7.14.6.4 Index 4 Working Draft, 1998-1-5 WG14/N800 absolute-value functions, 7.7.7.1, 7.8.2.17, 7.14.6.1, 7.14.6.3, 7.14.6.4, F.9.4.1 abstract declarator, 6.5.6 abstract machine, 5.1.2.3 acos function, 7.7.4.1, F.9.1.1 acos type-generic macro, 7.9.1 acosh function, 7.7.5.4, F.9.2.1 acosh type-generic macro, 7.9.1 active position, 5.2.2 actual argument, 3.2 actual parameter, 3.2 addition assignment operator (+=), 6.3.16.2 addition operator (+), 6.3.2.1, 6.3.3.2, 6.3.6 additive expressions, 6.3.6 address constant, 6.4 address operator (&), 6.2.2.1, 6.3.3.2 aggregate initialization, 6.5.8 aggregate types, 6.1.2.5 alert escape sequence (\a), 5.2.2, 6.1.3.4 alignment, 3.1 structure/union member, 6.5.2.1 allocated storage, order and contiguity, 7.14.3 and macro, 7.17 AND operators bitwise (&), 6.3.10 bitwise assignment (&=), 6.3.16.2 logical (&&), 6.3.13 and_eq macro, 7.17 argc (main function parameter), 5.1.2.2.1 argument, 3.2 array, 6.7.1 default promotions, 6.3.2.2 function, 6.3.2.2, 6.7.1 macro, substitution, 6.8.3.1 argv (main function parameter), 5.1.2.2.1 arithmetic constant expression, 6.4 arithmetic conversions, usual, see usual arithmetic conversions arithmetic operators additive, 6.3.6 bitwise, 6.3.10, 6.3.11, 6.3.12 increment and decrement, 6.3.2.4, 6.3.3.1 multiplicative, 6.3.5 shift, 6.3.7 unary, 6.3.3.3 arithmetic types, 6.1.2.5 arithmetic, pointer, 6.3.6 array argument, 6.7.1 declarator, 6.5.5.2 initialization, 6.5.8 multidimensional, 6.3.2.1 parameter, 6.7.1 storage order, 6.3.2.1 Index WG14/N800 Working Draft, 1998-1-5 5 subscript operator ([ ]), 6.1.5, 6.3.2.1, 6.3.3.2 subscripting, 6.3.2.1 type, 6.1.2.5 type conversion, 6.2.2.1 wide character functions, 7.19.4.6 arrow operator (->), 6.3.2.3 ASCII code set, 5.2.1.1 asctime function, 7.16.3.1 asin function, 7.7.4.2, F.9.1.2 asin type-generic macro, 7.9.1 asinh function, 7.7.5.5, F.9.2.2 asinh type-generic macro, 7.9.1 asm keyword, K.5.10 assert macro, 7.2.1.1 assert.h header, 7.2, D.4 assignment compound, 6.3.16.2 conversion, 6.3.16.1 expressions, 6.3.16 operators, 6.2.2.1, 6.3.16 simple, 6.3.16.1 associativity of operators, 6.3 asterisk punctuator (*), 6.1.6, 6.5.5.1, 6.5.5.2 atan function, 7.7.4.3, F.9.1.3 atan type-generic macro, 7.9.1 atan2 function, 7.7.4.4, F.9.1.4 atan2 type-generic macro, 7.9.1 atanh function, 7.7.5.6, F.9.2.3 atanh type-generic macro, 7.9.1 atexit function, 7.14.4.2, 7.14.4.3 atof function, 7.14.1, 7.14.1.1 atoi function, 7.14.1, 7.14.1.2 atol function, 7.14.1, 7.14.1.3 atoll function, 7.14.1, 7.14.1.4 auto storage-class specifier, 6.5.1, 6.7 automatic storage duration, 5.1.2.3, 5.2.3, 6.1.2.4 backslash character (\), 5.1.1.2, 5.2.1, 6.1.3.4 backslash escape sequence (\\), 6.1.3.4, 6.8.9 backspace escape sequence (\b), 5.2.2, 6.1.3.4 basic character set, 3.5, 5.2.1 basic types, 6.1.2.5 bibliography, A binary streams, 7.13.2, 7.13.7.11, 7.13.9.2, 7.13.9.4 bit, 3.3 high order, 3.4 low order, 3.4 bit-field, 6.5.2.1, K.5.8 bitand macro, 7.17 bitor macro, 7.17 bitwise operators, 6.3 AND, 6.3.10 AND assignment (&=), 6.3.16.2 complement (~), 6.3.3.3 Index 6 Working Draft, 1998-1-5 WG14/N800 exclusive OR, 6.3.11 exclusive OR assignment (^=), 6.3.16.2 inclusive OR, 6.3.12 inclusive OR assignment (|=), 6.3.16.2 shift, 6.3.7 block, 6.6.2 block scope, 6.1.2.1 block structure, 6.1.2.1 bold type convention, 6 bool type, 7.1.7 braces punctuator ({ }), 6.1.6, 6.5.2.2, 6.5.2.3, 6.5.8, 6.6.2 brackets operator ([ ]), 6.1.5, 6.3.2.1, 6.3.3.2 brackets punctuator ([ ]), 6.1.6, 6.5.5.2, 6.5.8 branch cuts, 7.8.2.1 break statement, 6.6.6.3 broken-down time, 7.16.1, 7.16.2.3, 7.16.3, 7.16.3.1, 7.16.3.3, 7.16.3.4, 7.16.3.5, 7.16.3.6 normalization, 7.16.2.6 bsearch function, 7.14.5, 7.14.5.1 btowc function, 7.19.7.1.1 BUFSIZ macro, 7.13.1, 7.13.2, 7.13.5.5 byte, 3.4, 6.3.3.4 byte input/output functions, 7.13.1 byte-oriented stream, 7.13.2 C program, 5.1.1.1 C++, 7.4.2, 7.4.3, 7.4.4, 7.4.5 cabs function, 7.8.2.17 type-generic macro for, 7.9.1 cacos function, 7.8.2.2, G.5.1 type-generic macro for, 7.9.1 cacosh function, 7.8.2.8, G.5.2 type-generic macro for, 7.9.1 calendar time, 7.16.1, 7.16.2.2, 7.16.2.3, 7.16.2.5, 7.16.3.2, 7.16.3.3, 7.16.3.4, 7.16.3.5 call by value, 6.3.2.2 calloc function, 7.14.3, 7.14.3.1, 7.14.3.2, 7.14.3.4 carg function, 7.8.2.19 carg type-generic macro, 7.9.1 carriage-return escape sequence (\r), 5.2.2, 6.1.3.4, 7.3.1.10 case label, 6.6.1, 6.6.4.2 case mapping functions character, 7.3.2 wide character, 7.18.3.1 casin function, 7.8.2.3 type-generic macro for, 7.9.1 casinh function, 7.8.2.9, G.5.3 type-generic macro for, 7.9.1 cast expr, 6.3.4 cast operator (( )), 6.1.5, 6.3.4 catan function, 7.8.2.4 type-generic macro for, 7.9.1 Index WG14/N800 Working Draft, 1998-1-5 7 catanh function, 7.8.2.10, G.5.4 type-generic macro for, 7.9.1 cbrt function, 7.7.7.4, F.9.4.5 cbrt type-generic macro, 7.9.1 ccos function, 7.8.2.5 type-generic macro for, 7.9.1 ccosh function, 7.8.2.11, G.5.5 type-generic macro for, 7.9.1 ceil function, 7.7.9.1, F.9.6.1 ceil type-generic macro, 7.9.1 cerf function, 7.20.8 cerfc function, 7.20.8 cexp function, 7.8.2.14, G.5.8 type-generic macro for, 7.9.1 cexp2 function, 7.20.8 cexpm1 function, 7.20.8 cgamma function, 7.20.8 char type, 6.1.2.5, 6.2.1.1, 6.5.2 char type conversion, 6.2.1.1, 6.2.1.2, 6.2.1.3, 6.2.1.7 CHAR_BIT macro, 5.2.4.2.1 CHAR_MAX macro, 5.2.4.2.1, 7.5.2.1 CHAR_MIN macro, 5.2.4.2.1 character, 3.5 character array initialization, 6.5.8 character case mapping functions, 7.3.2 character classification functions, 7.3.1 wide character extensible, 7.18.2.2 character constant, 5.1.1.2, 5.2.1, 6.1.3.4 character display semantics, 5.2.2 character handling header, 7.3, 7.5.1.1 character input/output functions, 7.13.7 character sets, 5.2.1 character string literal, see string literal character testing functions, 7.3.1 character type conversion, 6.2.1.1 character types, 6.1.2.5, 6.2.2.1, 6.5.8 cimag function, 7.8.2.21, 7.8.2.22 cimag type-generic macro, 7.9.1 classification functions character, 7.3.1 wide character, 7.18.2.1 clearerr function, 7.13.10.1 clgamma function, 7.20.8 clock function, 7.16.2.1 clock_t type, 7.16.1, 7.16.2.1 CLOCKS_PER_SEC macro, 7.16.1, 7.16.2.1 clog function, 7.8.2.15, G.5.9 type-generic macro for, 7.9.1 clog10 function, 7.20.8 clog1p function, 7.20.8 clog2 function, 7.20.8 collating sequences, 5.2.1 colon punctuator (:), 6.1.6, 6.5.2.1 Index 8 Working Draft, 1998-1-5 WG14/N800 comma operator (,), 6.3.17 comma punctuator (,), 6.1.6, 6.3.2, 6.5, 6.5.2.1, 6.5.2.2, 6.5.2.3, 6.5.8 command processor, 7.14.4.5 comment delimiters (/* */ and //), 6.1.9 comments, 5.1.1.2, 6.1, 6.1.9 common extensions, K.5 common initial sequence, 6.3.2.3 common real type, 6.2.1.7 common warnings, J comparison functions, 7.14.5, 7.14.5.1, 7.14.5.2 string, 7.15.4 wide string, 7.19.4.4 comparison macros, 7.7.14 comparison, pointer, 6.3.8 compatible type, 6.1.2.6, 6.5.2, 6.5.3, 6.5.5 compl macro, 7.17 complement operator (~), 6.3.3.3 complex functions, 7.8.2 complex numbers, 6.1.2.5, G complex type conversion, 6.2.1.5, 6.2.1.6 complex type-domain, 6.1.2.5 complex types, 6.1.2.5 complex.h header, 6.1.1, 7.8, 7.9, 7.20.8, G.5 compliance, 4 components of time, 7.16.1 composite type, 6.1.2.6 compound assignment, 6.3.16.2 compound literals, 6.3.2.5 compound statement, 6.6.2 compound-literal operator (( ){ }), 6.1.5, 6.3.2.5 concatenation functions string, 7.15.3 wide string, 7.19.4.3 conceptual models, 5.1 conditional inclusion, 6.8.1 conditional operator (? :), 6.1.5, 6.3.15 conforming freestanding implementation, 4 conforming hosted implementation, 4 conforming implementation, 4 conforming program, 4 conj function, 7.8.2.20 conj type-generic macro, 7.9.1 const type qualifier, 6.5.3 const-qualified type, 6.1.2.5, 6.2.2.1, 6.5.3 constant expression, 6.4 constants, 6.1.3 as primary expression, 6.3.1 character, 6.1.3.4 enumeration, 6.1.2, 6.1.3.3 floating, 6.1.3.1 hexadecimal, 6.1.3.2 integer, 6.1.3.2 octal, 6.1.3.2 Index WG14/N800 Working Draft, 1998-1-5 9 constraints, 3.6 content of structure/union/enumeration, 6.5.2.3 contiguity of allocated storage, 7.14.3 continue statement, 6.6.6.2 control character, 5.2.1, 7.3 control wide character, 7.18.2 conversion, 6.2 arithmetic operands, 6.2.1 array, 6.2.2.1 array argument, 6.7.1 array parameter, 6.7.1 by assignment, 6.3.16.1 by return statement, 6.6.6.4 characters and integers, 6.2.1.1 complex types, 6.2.1.5 explicit, 6.2 function, 6.2.2.1 function argument, 6.3.2.2, 6.7.1 function parameter, 6.7.1 implicit, 6.2 lvalues and function designators, 6.2.2.1 pointer, 6.2.2.1, 6.2.2.3 real and complex, 6.2.1.6 real floating and integer, 6.2.1.3 real floating types, 6.2.1.4 signed and unsigned integers, 6.2.1.2 usual arithmetic, see usual arithmetic conversions, 6.3.5, 6.3.6, 6.3.8, 6.3.9, 6.3.10, 6.3.11, 6.3.12, 6.3.15 void type, 6.2.2.2 conversion functions multibyte/wide-character restartable, 7.19.7.3 multibyte/wide-string restartable, 7.19.7.4 numeric wide string, 7.19.4.1 single byte wide character, 7.19.7.1 time, 7.16.3 wide character single byte, 7.19.7.1 conversion state, 7.19.7, 7.19.7.2, 7.19.7.3, 7.19.7.3.2, 7.19.7.3.3, 7.19.7.4, 7.19.7.4.1, 7.19.7.4.2 conversion utilities multibyte extended, 7.19.7 wide string extended, 7.19.7 copying functions string, 7.15.2 wide string, 7.19.4.2 copysign function, 7.7.11.1, 7.8.2.22, F.9.8.1 copysign type-generic macro, 7.9.1 correctly rounded result, 3.7 Index 10 Working Draft, 1998-1-5 WG14/N800 corresponding real type, 6.1.2.5 cos function, 7.7.4.5, F.9.1.5 cos type-generic macro, 7.9.1 cosh function, 7.7.5.1, F.9.2.4 cosh type-generic macro, 7.9.1 cpow function, 7.8.2.18 type-generic macro for, 7.9.1 cproj function, 7.8.2.22 cproj type-generic macro, 7.9.1 creal function, 7.8.2.23 creal type-generic macro, 7.9.1 csin function, 7.8.2.6 type-generic macro for, 7.9.1 csinh function, 7.8.2.12, G.5.6 type-generic macro for, 7.9.1 csqrt function, 7.8.2.16, G.5.10 type-generic macro for, 7.9.1 ctan function, 7.8.2.7 type-generic macro for, 7.9.1 ctanh function, 7.8.2.13, G.5.7 type-generic macro for, 7.9.1 ctime function, 7.16.3.2 ctype.h header, 7.3, 7.20.2 current object, 6.5.8 CX_LIMITED_RANGE pragma, 6.8.6, 7.8.1 data stream, see streams date and time header, 7.16 Daylight Saving Time, 7.16.1 DBL_DIG macro, 5.2.4.2.2 DBL_EPSILON macro, 5.2.4.2.2 DBL_MANT_DIG macro, 5.2.4.2.2 DBL_MAX macro, 5.2.4.2.2 DBL_MAX_10_EXP macro, 5.2.4.2.2 DBL_MAX_EXP macro, 5.2.4.2.2 DBL_MIN macro, 5.2.4.2.2 DBL_MIN_10_EXP macro, 5.2.4.2.2 DBL_MIN_EXP macro, 5.2.4.2.2 decimal constant, 6.1.3.2 decimal digits, 5.2.1 decimal-point character, 7.1.1, 7.5.2.1 DECIMAL_DIG macro, 7.7, 7.13.6.1, 7.14.1.5, 7.19.2.1, 7.19.4.1.1 declaration specifiers, 6.5 declarations, 6.5 function, 6.5.5.3 pointer, 6.5.5.1 structure/union, 6.5.2.1 typedef, 6.5.7 declarator, 6.5.5 abstract, 6.5.6 declarator type derivation, 6.1.2.5, 6.5.5 decrement operators, see arithmetic operators, increment and decrement Index WG14/N800 Working Draft, 1998-1-5 11 default argument promotions, 6.3.2.2, 7.4.4 default initialization, 6.5.8 default label, 6.6.1, 6.6.4.2 define preprocessing directive, 6.8.3 defined operator, 6.8.1 definition, 6.5 function, 6.7.1 definitions of terms, 3 derived declarator types, 6.1.2.5 derived types, 6.1.2.5 designated initializer, 6.5.8 destringizing, 6.8.9 device input/output, 5.1.2.3 diagnostic message, 3.8, 5.1.1.3 diagnostics, 5.1.1.3 diagnostics header, 7.2 difftime function, 7.16.2.2 digraphs, 6.1.5, 6.1.6 direct input/output functions, 7.13.8 display device, 5.2.2 div function, 7.14.6.2, 7.14.6.5, 7.14.6.6 div_t type, 7.14 division assignment operator (/=), 6.3.16.2 division operator (/), 6.3.5 do statement, 6.6.5.2 documentation of implementation, 4 domain error, 7.7.1, 7.7.4.1, 7.7.4.2, 7.7.4.4, 7.7.5.4, 7.7.5.6, 7.7.6.4, 7.7.6.5, 7.7.6.9, 7.7.6.10, 7.7.7.2, 7.7.7.3, 7.7.8.3, 7.7.10.1 dot operator (.), 6.3.2.3 double complex type, 6.1.2.5 double complex type conversion, 6.2.1.5, 6.2.1.6, 6.2.1.7 double type, 6.1.2.5, 6.1.3.1, 6.5.2 double type conversion, 6.2.1.3, 6.2.1.4, 6.2.1.6, 6.2.1.7 double-precision arithmetic, 5.1.2.3 double-quote escape sequence (\"), 6.1.4 double-quote escape sequence (\"), 6.1.3.4, 6.8.9 double_t type, 7.7 EDOM macro, 7.1.4, 7.7.1 effective type, 6.3 EILSEQ macro, 7.1.4, 7.13.3, 7.19.3.1, 7.19.3.3, 7.19.3.5, 7.19.7.3.2, 7.19.7.3.3, 7.19.7.4.1, 7.19.7.4.2 element type, 6.1.2.5 elif preprocessing directive, 6.8.1 ellipsis punctuator (...), 6.1.6, 6.3.2.2, 6.5.5.3, 6.8.3 else preprocessing directive, 6.8.1 else statement, 6.6.4.1 empty statement, 6.6.3 encoding error, 7.13.3, 7.19.3.1, 7.19.3.3, 7.19.3.5, 7.19.7.3.2, 7.19.7.3.3, 7.19.7.4.1, 7.19.7.4.2 end-of-file, 7.18.1 end-of-file indicator, 7.13.1, 7.13.5.3, 7.13.7.1, 7.13.7.5, 7.13.7.6, 7.13.7.11, 7.13.9.2, 7.13.9.3, 7.13.10.1, Index 12 Working Draft, 1998-1-5 WG14/N800 7.13.10.2, 7.19.3.1, 7.19.3.5, 7.19.3.9 end-of-file macro, see EOF macro end-of-line indicator, 5.2.1 endif preprocessing directive, 6.8.1 enum type, 6.1.2.5, 6.5.2, 6.5.2.2 enumerated type, 6.1.2.5 enumeration, 6.1.2.5, 6.5.2.2 enumeration constant, 6.1.2, 6.1.3.3 enumeration content, 6.5.2.3 enumeration members, 6.5.2.2 enumeration specifiers, 6.5.2.2 enumeration tag, 6.1.2.3, 6.5.2.3 enumerator, 6.5.2.2 environment, 5 environment functions, 7.14.4 environment list, 7.14.4.4 environmental considerations, 5.2 environmental limits, 5.2.4, 7.13.2, 7.13.3, 7.13.4.4, 7.13.6.1, 7.14.2.1, 7.19.2.1 environmental restrictions, 7.10.1.1 EOF macro, 7.3, 7.13.1, 7.13.5.1, 7.13.5.2, 7.13.6.2, 7.13.6.7, 7.13.6.12, 7.13.6.13, 7.13.6.14, 7.13.7.1, 7.13.7.3, 7.13.7.4, 7.13.7.5, 7.13.7.6, 7.13.7.9, 7.13.7.10, 7.13.7.11, 7.18.1, 7.19.2.2, 7.19.2.4, 7.19.2.6, 7.19.2.10, 7.19.2.11, 7.19.2.12, 7.19.3.4, 7.19.7.1.1, 7.19.7.1.2 equal-sign punctuator (=), 6.1.6, 6.5, 6.5.2.2, 6.5.8 equal-to operator, see equality operator equality expressions, 6.3.9 equality operator (==), 6.3.9 ERANGE macro, 7.1.4, 7.4.6.1, 7.4.6.2, 7.4.6.3, 7.4.6.4, 7.7.1, 7.14.1.5, 7.14.1.8, 7.14.1.9, 7.14.1.10, 7.14.1.11, 7.19.4.1.1, 7.19.4.1.4, 7.19.4.1.5, 7.19.4.1.6, 7.19.4.1.7 erf function, 7.7.8.1, F.9.5.1 erf type-generic macro, 7.9.1 erfc function, 7.7.8.2, F.9.5.2 erfc type-generic macro, 7.9.1 errno macro, 7.1.4, 7.4.6.1, 7.4.6.2, 7.4.6.3, 7.4.6.4, 7.7.1, 7.8.2, 7.11.1.1, 7.13.3, 7.13.9.3, 7.13.10.4, 7.14.1, 7.14.1.5, 7.14.1.8, 7.14.1.9, 7.14.1.10, 7.14.1.11, 7.15.6.2, 7.19.3.1, 7.19.3.3, 7.19.3.5, 7.19.4.1.1, 7.19.4.1.4, 7.19.4.1.5, 7.19.4.1.6, 7.19.4.1.7, 7.19.7.3.2, 7.19.7.3.3, 7.19.7.4.1, 7.19.7.4.2 errno.h header, 7.1.4, 7.20.1 error conditions, 7.7.1 error functions, 7.7.8, F.9.5 error indicator, 7.13.1, 7.13.5.3, 7.13.7.1, 7.13.7.3, 7.13.7.5, 7.13.7.6, 7.13.7.8, 7.13.7.9, 7.13.9.2, 7.13.10.1, 7.13.10.3, 7.19.3.1, 7.19.3.3, 7.19.3.5 error preprocessing directive, 6.8.5 error, domain, see domain error error, encoding, see encoding error Index WG14/N800 Working Draft, 1998-1-5 13 error, range, see range error error-handling functions, 7.13.10, 7.15.6.2 escape character (\), 6.1.3.4 escape sequences, 5.2.1, 5.2.2, 6.1.3.4, 6.9.1 evaluation, 6.1.5 order, 6.3 exception, 6.3 exclusive OR operators bitwise (^), 6.3.11 bitwise assignment (^=), 6.3.16.2 executable program, 5.1.1.1 execution character set, 5.2.1 execution environment, 5, 5.1.2, see also environmental limits execution sequence, 5.1.2.3, 6.6 exit function, 5.1.2.2.3, 7.13.3, 7.14, 7.14.4.3 EXIT_FAILURE macro, 7.14, 7.14.4.3 EXIT_SUCCESS macro, 7.14, 7.14.4.3 exp function, 7.7.6.1, F.9.3.1 exp type-generic macro, 7.9.1 exp2 function, 7.7.6.7, F.9.3.2 exp2 type-generic macro, 7.9.1 explicit conversion, 6.2 expm1 function, 7.7.6.8, F.9.3.3 expm1 type-generic macro, 7.9.1 exponent part, 6.1.3.1 exponential functions, 7.7.6, F.9.3 expression, 6.3 assignment, 6.3.16 constant, 6.4 full, 6.6 order of evaluation, 6.3 parenthesized, 6.3.1 primary, 6.3.1 unary, 6.3.3 expression statement, 6.6.3 extended character set, 5.2.1.2 extended integer types, 6.1.2.5, 7.4 extended multibyte conversion utilities, 7.19.7 extended wide-string conversion utilities, 7.19.7 extensible wide-character classification functions, 7.18.2.2 extensible wide-character mapping functions, 7.18.3.2 extern storage-class specifier, 6.1.2.2, 6.5.1 external definition, 6.7 external identifiers, underscore, 7.1.3 external linkage, 6.1.2.2 external name, 6.1.2 external object definitions, 6.7.2 fabs function, 7.7.7.1, F.9.4.1 fabs type-generic macro, 7.9.1 false macro, 7.1.7 fclose function, 7.13.5.1 fdim function, 7.7.12.1, F.9.9.1 Index 14 Working Draft, 1998-1-5 WG14/N800 fdim type-generic macro, 7.9.1 FE_ALL_EXCEPT macro, 7.6 FE_DFL_ENV macro, 7.6, 7.6.4.3, 7.6.4.4 FE_DIVBYZERO macro, 7.6 FE_DOWNWARD macro, 7.6 FE_INEXACT macro, 7.6 FE_INVALID macro, 7.6 FE_OVERFLOW macro, 7.6 FE_TONEAREST macro, 7.6 FE_TOWARDZERO macro, 7.6 FE_UNDERFLOW macro, 7.6 FE_UPWARD macro, 7.6 feclearexcept function, 7.6.2, 7.6.2.1 fegetenv function, 7.6.4.1, 7.6.4.3, 7.6.4.4 fegetexceptflag function, 7.6.2, 7.6.2.2 fegetround function, 7.6, 7.6.3.1 feholdexcept function, 7.6.4.2, 7.6.4.3, 7.6.4.4 fenv.h header, 5.1.2.3, 5.2.4.2.2, 7.6, F, H FENV_ACCESS pragma, 6.8.6, 7.6.1 fenv_t type, 7.6 feof function, 7.13.10.2 feraiseexcept function, 7.6.2, 7.6.2.3 ferror function, 7.13.10.3 fesetenv function, 7.6.4.3 fesetexceptflag function, 7.6.2, 7.6.2.4 fesetround function, 7.6, 7.6.3.2 fetestexcept function, 7.6.2, 7.6.2.5 feupdateenv function, 7.6.4.2, 7.6.4.4 fexcept_t type, 7.6 fflush function, 7.13.5.2, 7.13.5.3 fgetc function, 7.13.1, 7.13.3, 7.13.7.1, 7.13.7.5 fgetpos function, 7.13.2, 7.13.9.1, 7.13.9.3 fgets function, 7.13.1, 7.13.7.2 fgetwc function, 7.13.1, 7.19.3.1, 7.19.3.5 fgetws function, 7.13.1, 7.19.3.2 file, 7.13.3 access functions, 7.13.5 name, 7.13.3 operations, 7.13.4 position indicator, 7.13.1, 7.13.2, 7.13.3, 7.13.5.3, 7.13.7.1, 7.13.7.3, 7.13.7.11, 7.13.8.1, 7.13.8.2, 7.13.9.1, 7.13.9.2, 7.13.9.3, 7.13.9.4, 7.13.9.5, 7.19.3.1, 7.19.3.3, 7.19.3.9, K.5.15 positioning functions, 7.13.9 file scope, 6.1.2.1, 6.7 FILE type, 7.13.1, 7.13.3 file-opening modes, K.5.14 FILENAME_MAX macro, 7.13.1 flexible array member, 6.5.2.1 float complex type, 6.1.2.5 float complex type conversion, 6.2.1.5, 6.2.1.6, 6.2.1.7 float type, 6.1.2.5, 6.1.3.1, 6.5.2 float type conversion, 6.2.1.3, 6.2.1.4, 6.2.1.6, 6.2.1.7 float.h header, 4, 5.2.4.2.2, 7.1.5 Index WG14/N800 Working Draft, 1998-1-5 15 float_t type, 7.7 floating arithmetic functions, F.9 floating constant, 6.1.3.1 floating suffix, f or F, 6.1.3.1 floating type conversion, 6.2.1.3, 6.2.1.4, 6.2.1.6 floating types, 6.1.2.5 floating-point arithmetic functions, 7.7 floating-point control mode, 7.6 floating-point environment, 7.6 floating-point numbers, 6.1.2.5 floating-point rounding mode, 5.2.4.2.2 floating-point status flag, 7.6 floor function, 7.7.9.2, F.9.6.2 floor type-generic macro, 7.9.1 FLT_DIG macro, 5.2.4.2.2 FLT_EPSILON macro, 5.2.4.2.2 FLT_EVAL_METHOD macro, 5.2.4.2.2, 7.7 FLT_MANT_DIG macro, 5.2.4.2.2 FLT_MAX macro, 5.2.4.2.2 FLT_MAX_10_EXP macro, 5.2.4.2.2 FLT_MAX_EXP macro, 5.2.4.2.2 FLT_MIN macro, 5.2.4.2.2 FLT_MIN_10_EXP macro, 5.2.4.2.2 FLT_MIN_EXP macro, 5.2.4.2.2 FLT_RADIX macro, 5.2.4.2.2, 7.13.6.1, 7.14.1.5, 7.19.2.1, 7.19.4.1.1 FLT_ROUNDS macro, 5.2.4.2.2, 7.6, 7.7.13.1 fma function, 7.7, 7.7.13.1, F.9.10.1 fma type-generic macro, 7.9.1 fmax function, 7.7.12.2, F.9.9.2 fmax type-generic macro, 7.9.1 fmin function, 7.7.12.3, F.9.9.3 fmin type-generic macro, 7.9.1 fmod function, 7.7.10.1, F.9.7.1 fmod type-generic macro, 7.9.1 fopen function, 7.13.5.3, 7.13.5.4 FOPEN_MAX macro, 7.13.1, 7.13.3 for statement, 6.6.5, 6.6.5.3 form-feed character, 5.2.1, 6.1 form-feed escape sequence (\f), 5.2.2, 6.1.3.4, 7.3.1.10 formal argument, 3.16 formal parameter, 3.16 formatted input/output functions, 7.5.1.1, 7.13.6 formatted wide-character input/output functions, 7.19.2 fortran keyword, K.5.9 forward references, 3.9 FP_CONTRACT pragma, 6.8.6, 7.7.2 FP_FAST_FMA macro, 7.7 FP_FAST_FMAF macro, 7.7 FP_FAST_FMAL macro, 7.7 FP_ILOGB0 macro, 7.7, 7.7.6.14 FP_ILOGBNAN macro, 7.7, 7.7.6.14 FP_INFINITE macro, 7.7 FP_NAN macro, 7.7 Index 16 Working Draft, 1998-1-5 WG14/N800 FP_NORMAL macro, 7.7 FP_SUBNORMAL macro, 7.7 FP_ZERO macro, 7.7 fpclassify macro, 7.7.3.1 fpos_t type, 7.13.1, 7.13.2 fprintf function, 7.4.4, 7.13.1, 7.13.6.1, 7.13.6.2, 7.13.6.3, 7.13.6.5, 7.13.6.6, 7.13.6.8 fputc function, 5.2.2, 7.13.1, 7.13.3, 7.13.7.3, 7.13.7.8 fputs function, 7.13.1, 7.13.7.4 fputwc function, 7.13.1, 7.13.3, 7.19.3.3, 7.19.3.7 fputws function, 7.13.1, 7.19.3.4 fread function, 7.13.1, 7.13.8.1 free function, 7.14.3.2, 7.14.3.4 freestanding execution environment, 5.1.2, 5.1.2.1 freopen function, 7.13.2, 7.13.5.4 frexp function, 7.7.6.2, F.9.3.4 frexp type-generic macro, 7.9.1 fscanf function, 7.4.4, 7.13.1, 7.13.6.2, 7.13.6.4, 7.13.6.7, 7.13.6.12 fseek function, 7.13.1, 7.13.5.3, 7.13.7.11, 7.13.9.2, 7.13.9.4, 7.13.9.5, 7.19.3.9 fsetpos function, 7.13.2, 7.13.5.3, 7.13.7.11, 7.13.9.1, 7.13.9.3, 7.19.3.9 ftell function, 7.13.9.2, 7.13.9.4 full declarator, 6.5.5 full expression, 6.6 fully buffered stream, 7.13.3 function argument, 6.3.2.2, 6.7.1 body, 6.7.1 call, 6.3.2.2 library, 7.1.8 declarator, 6.5.5.3, 6.9.3 definition, 6.5.5.3, 6.7.1, 6.9.4 designator, 6.2.2.1 image, 5.2.3 library, 5.1.1.1, 7.1.8 name length, 6.1.2 parameter, 5.1.2.2.1, 6.3.2.2, 6.7.1 pointer casts, K.5.7 prototype, 6.1.2.1, 6.3.2.2, 6.5.5.3, 6.7.1 prototype scope, 6.1.2.1 recursive call, 6.3.2.2 return, 6.6.6.4 scope, 6.1.2.1 type, 6.1.2.5 type conversion, 6.2.2.1 function type, 6.1.2.5 function-call operator (( )), 6.1.5, 6.3.2.2 function-like macro, 6.8.3 future directions language, 6.9 library, 7.20 fwide function, 7.13.2, 7.19.3.10 Index WG14/N800 Working Draft, 1998-1-5 17 fwprintf function, 7.13.1, 7.19.2.1, 7.19.2.2, 7.19.2.3, 7.19.2.5, 7.19.2.7 fwrite function, 7.13.1, 7.13.8.2 fwscanf function, 7.13.1, 7.19.2.2, 7.19.2.4, 7.19.2.6, 7.19.2.10, 7.19.3.9 gamma function, 7.7.8.3, F.9.5.3 gamma functions, 7.7.8, F.9.5 gamma type-generic macro, 7.9.1 general utilities, 7.14 wide string, 7.19.4 general wide-string utilities, 7.19.4 getc function, 7.13.1, 7.13.7.5, 7.13.7.6 getchar function, 7.13.1, 7.13.7.6 getenv function, 7.14.4.4 gets function, 7.13.1, 7.13.7.7 getwc function, 7.13.1, 7.13.3, 7.19.3.5, 7.19.3.6 getwchar function, 7.13.1, 7.19.3.6 gmtime function, 7.16.3.3 goto statement, 6.1.2.1, 6.6.1, 6.6.6.1 graphic characters, 5.2.1 greater-than operator (>), 6.3.8 greater-than-or-equal-to operator (>=), 6.3.8 header, 7.1.2 header names, 6.1, 6.1.7, 6.8.2 hexadecimal constant, 6.1.3.2 hexadecimal digit, 6.1.3.1, 6.1.3.2, 6.1.3.4 hexadecimal-character escape sequence (\xhexadecimal digits), 6.1.3.4 high-order bit, 3.4 horizontal-tab character, 5.2.1, 6.1 horizontal-tab escape sequence (\t), 5.2.2, 6.1.3.4, 7.3.1.10 hosted execution environment, 5.1.2, 5.1.2.2 HUGE_VAL macro, 7.7, 7.7.1, 7.14.1.5, 7.19.4.1.1 HUGE_VALF macro, 7.7, 7.7.1, 7.14.1.6, 7.19.4.1.2 HUGE_VALL macro, 7.7, 7.7.1, 7.14.1.7, 7.19.4.1.3 hyperbolic functions, 7.7.5, F.9.2 hypot function, 7.7.7.5, F.9.4.2 hypot type-generic macro, 7.9.1 I macro, 7.8, 7.8.2.22, G.5 identifier, 6.1.2, 6.3.1 linkage, 6.1.2.2 maximum length, 6.1.2 name spaces, 6.1.2.3 reserved, 7.1.3 scope, 6.1.2.1 type, 6.1.2.5 identifier list, 6.5.5 IEC 559, 2, 5.1.2.3, 5.2.4.2.2, 6.8.8, 7.6, 7.6.4.2, 7.7.1, 7.7.10.2, 7.7.14, 7.8.2.1, F, G, H.1 IEEE floating-point arithmetic standard, see IEC 559 Index 18 Working Draft, 1998-1-5 WG14/N800 if preprocessing directive, 5.2.4.2.1, 5.2.4.2.2, 6.8.1, 7.1.8 if statement, 6.6.4.1 ifdef preprocessing directive, 6.8.1 ifndef preprocessing directive, 6.8.1 ilogb function, 7.7, 7.7.6.14 ilogb type-generic macro, 7.9.1 implementation, 3.10 implementation limits, 3.12, 5.2.4.2, 6.1.2, 6.5.5, 6.6.4.2, 7.14.4.2, E implementation-defined behavior, 3.11, K.3 implicit conversion, 6.2 implicit initialization, 6.5.8 include preprocessing directive, 5.1.1.2, 6.8.2 inclusive OR operators bitwise (|), 6.3.12 bitwise assignment (|=), 6.3.16.2 incomplete type, 6.1.2.5 increment operators, see arithmetic operators, increment and decrement indirection operator (*), 6.3.2.1, 6.3.3.2 inequality operator (!=), 6.3.9 INFINITY macro, 7.7, 7.8.2.22 initial position, 5.2.2 initial shift state, 5.2.1.2, 7.14.7 initialization, 5.1.2, 6.1.2.4, 6.2.2.1, 6.3.2.5, 6.5.8, 6.6.2 in blocks, 6.6.2 initializer, 6.5.8 permitted form, 6.4 string literal, 6.2.2.1 inline, 6.5.4 inline definition, 6.5.4 inner scope, 6.1.2.1 input failure, 7.13.6.2, 7.19.2.2, 7.19.2.10, 7.19.2.11, 7.19.2.12 input/output functions character, 7.13.7 direct, 7.13.8 formatted, 7.13.6 wide character, 7.19.2 wide character, 7.19.3 formatted, 7.19.2 input/output header, 7.13 input/output, device, 5.1.2.3 int type, 6.1.2.5, 6.1.3.2, 6.2.1.1, 6.2.1.2, 6.5.2 int type conversion, 6.2.1.1, 6.2.1.2, 6.2.1.3, 6.2.1.7 INT_FASTn_MAX macros, 7.4.2.3 INT_FASTn_MIN macros, 7.4.2.3 int_fastn_t types, 7.4.1.3 INT_LEASTn_MAX macros, 7.4.2.2 INT_LEASTn_MIN macros, 7.4.2.2 int_leastn_t types, 7.4.1.2 INT_MAX macro, 5.2.4.2.1, 7.7, 7.7.6.14 Index WG14/N800 Working Draft, 1998-1-5 19 INT_MIN macro, 5.2.4.2.1, 7.7 integer arithmetic functions, 7.14.6 integer character constant, 6.1.3.4 integer constant, 6.1.3.2 integer constant expression, 6.4 integer conversion rank, 6.2.1.1 integer promotions, 5.1.2.3, 5.2.4.2.1, 6.2.1.1, 6.3.2.2, 6.3.3.3, 6.3.7, 6.6.4.2, 7.4.2, 7.4.5, 7.13.6.1, 7.19.2.1 integer suffix, 6.1.3.2 integer type conversion, 6.2.1.1, 6.2.1.2, 6.2.1.3 integer types, 6.1.2.5, 7.4 extended, 7.4 interactive device, 5.1.2.3, 7.13.3, 7.13.5.3 internal linkage, 6.1.2.2 internal name, 6.1.2 interrupt, 5.2.3 INTMAX_C macro, 7.4.3.2 INTMAX_MAX macro, 7.4.2.5, 7.4.6.1, 7.4.6.3 INTMAX_MIN macro, 7.4.2.5, 7.4.6.1, 7.4.6.3 intmax_t type, 7.4.1.5 INTn_C macros, 7.4.3.1 INTn_MAX macros, 7.4.2.1 INTn_MIN macros, 7.4.2.1 intn_t types, 7.4.1.1 INTPTR_MAX macro, 7.4.2.4 INTPTR_MIN macro, 7.4.2.4 intptr_t type, 7.4.1.4 inttypes.h header, 6.8.1, 7.4, 7.4.2, 7.20.3 isalnum function, 7.3.1.1, 7.3.1.9, 7.3.1.10 isalpha function, 7.3.1.1, 7.3.1.2 isblank function, 7.3.1.3 iscntrl function, 7.3.1.2, 7.3.1.4, 7.3.1.7, 7.3.1.11 isdigit function, 7.3.1.1, 7.3.1.2, 7.3.1.5, 7.3.1.7, 7.3.1.11, 7.5.1.1 isfinite macro, 7.7.3.3 isgraph function, 7.3.1.6 isgreater macro, 7.7.14.1 isgreaterequal macro, 7.7.14.2 isinf macro, 7.7.3.6 isless macro, 7.7.14.3 islessequal macro, 7.7.14.4 islessgreater macro, 7.7.14.5 islower function, 7.3.1.2, 7.3.1.7, 7.3.2.1, 7.3.2.2 isnan macro, 7.7.3.5 isnormal macro, 7.7.3.4 ISO 10646-1, 6.1.2 ISO 4217, 2, 7.5.2.1 ISO 646, 2, 5.2.1.1 ISO 8601, 2, 7.16.3.6 ISO/IEC 10646-1, 2, 5.2.1 ISO/IEC 2382-1, 2, 3 ISO/IEC 9945-2, 7.5 ISO/IEC TR 10176, 2, I Index 20 Working Draft, 1998-1-5 WG14/N800 iso646.h header, 4, 7.17 isprint function, 5.2.2, 7.3.1.8 ispunct function, 7.3.1.2, 7.3.1.7, 7.3.1.9, 7.3.1.11 isspace function, 7.3.1.2, 7.3.1.7, 7.3.1.9, 7.3.1.10, 7.3.1.11, 7.13.6.2, 7.14.1.5, 7.14.1.8, 7.14.1.10 isunordered macro, 7.7.14.6 isupper function, 7.3.1.2, 7.3.1.11, 7.3.2.1, 7.3.2.2 iswalnum function, 7.18.2.1.1, 7.18.2.1.9, 7.18.2.1.10, 7.18.2.2.2 iswalpha function, 7.18.2.1.1, 7.18.2.1.2, 7.18.2.2.2 iswblank function, 7.18.2.1.3 iswcntrl function, 7.18.2.1.2, 7.18.2.1.4, 7.18.2.1.7, 7.18.2.1.11, 7.18.2.2.2 iswctype function, 7.18.2.2.1, 7.18.2.2.2 iswdigit function, 7.18.2.1.1, 7.18.2.1.2, 7.18.2.1.5, 7.18.2.1.7, 7.18.2.1.11, 7.18.2.2.2 iswgraph function, 7.18.2.1, 7.18.2.1.6, 7.18.2.1.10, 7.18.2.2.2 iswlower function, 7.18.2.1.2, 7.18.2.1.7, 7.18.2.2.2, 7.18.3.1.1, 7.18.3.1.2 iswprint function, 7.18.2.1.6, 7.18.2.1.8, 7.18.2.2.2 iswpunct function, 7.18.2.1, 7.18.2.1.2, 7.18.2.1.7, 7.18.2.1.9, 7.18.2.1.10, 7.18.2.1.11, 7.18.2.2.2 iswspace function, 7.18.2.1.2, 7.18.2.1.6, 7.18.2.1.7, 7.18.2.1.9, 7.18.2.1.10, 7.18.2.1.11, 7.18.2.2.2, 7.19.2.2, 7.19.4.1.1, 7.19.4.1.4, 7.19.4.1.6 iswupper function, 7.18.2.1.2, 7.18.2.1.11, 7.18.2.2.2, 7.18.3.1.1, 7.18.3.1.2 iswxdigit function, 7.18.2.1.12, 7.18.2.2.2 isxdigit function, 7.3.1.12, 7.5.1.1 italic type convention, 3, 6 iteration statements, 6.6.5 jmp_buf type, 7.10 jump statements, 6.6.6 keywords, 6.1.1 L_tmpnam macro, 7.13.1, 7.13.4.4 label name, 6.1.2.1, 6.1.2.3 labeled statement, 6.6.1 labs function, 7.14.6.3 language, 6 future directions, 6.9 syntax summary, B Latin alphabet, 5.2.1 LC_ALL macro, 7.5, 7.5.1.1, 7.5.2.1 LC_COLLATE macro, 7.5, 7.5.1.1, 7.15.4.3, 7.19.4.4.2 LC_CTYPE macro, 7.5, 7.5.1.1, 7.14, 7.14.7, 7.14.8, 7.18.1, 7.18.2.2.1, 7.18.2.2.2, 7.18.3.2.1, 7.18.3.2.2, 7.19.7 LC_MONETARY macro, 7.5, 7.5.1.1, 7.5.2.1 LC_NUMERIC macro, 7.5, 7.5.1.1, 7.5.2.1 LC_TIME macro, 7.5, 7.5.1.1, 7.16.3.6 lconv structure type, 7.5 Index WG14/N800 Working Draft, 1998-1-5 21 LDBL_DIG macro, 5.2.4.2.2 LDBL_EPSILON macro, 5.2.4.2.2 LDBL_MANT_DIG macro, 5.2.4.2.2 LDBL_MAX macro, 5.2.4.2.2 LDBL_MAX_10_EXP macro, 5.2.4.2.2 LDBL_MAX_EXP macro, 5.2.4.2.2 LDBL_MIN macro, 5.2.4.2.2 LDBL_MIN_10_EXP macro, 5.2.4.2.2 LDBL_MIN_EXP macro, 5.2.4.2.2 ldexp function, 7.7.6.3, F.9.3.5 ldexp type-generic macro, 7.9.1 ldiv function, 7.14.6.5 ldiv_t type, 7.14 leading underscore in identifiers, 7.1.3 left-shift assignment operator (<<=), 6.3.16.2 left-shift operator (<<), 6.3.7 length external name, 6.1.2 function name, 6.1.2 identifier, 6.1.2 internal name, 6.1.2 length function, 7.14.7.1, 7.15.6.3, 7.19.4.5.8, 7.19.7.3.1 less-than operator (<), 6.3.8 less-than-or-equal-to operator (<=), 6.3.8 letter, 7.1.1 lexical elements, 5.1.1.2, 6.1 lgamma function, 7.7.8.4, F.9.5.4 lgamma type-generic macro, 7.9.1 library, 5.1.1.1, 7 future directions, 7.20 summary, D terms, 7.1.1 use of functions, 7.1.8 limits environmental, see environmental limits numerical, see numerical limits translation, see translation limits limits.h header, 4, 5.2.4.2.1, 6.1.2.5, 6.3.3.3, 6.3.7, 7.1.5 line buffered stream, 7.13.3 line number, 6.8.4 line preprocessing directive, 6.8.4 lines, 5.1.1.2, 7.13.2 preprocessing directive, 6.8 linkage of identifiers, 6.1.2.2 llabs function, 7.14.6.4 lldiv function, 7.14.6.6 lldiv_t type, 7.14 LLONG_MAX macro, 5.2.4.2.1, 7.14.1.9, 7.19.4.1.5 LLONG_MIN macro, 5.2.4.2.1, 7.14.1.9, 7.19.4.1.5 llrint function, 7.7.9.6 llrint type-generic macro, 7.9.1 llround function, 7.7.9.9 llround type-generic macro, 7.9.1 Index 22 Working Draft, 1998-1-5 WG14/N800 local time, 7.16.1 locale, 3.13 locale-specific behavior, 3.13, K.4 locale.h header, 7.5, 7.20.4 localeconv function, 7.5.1.1, 7.5.2.1 localization, 7.5 localtime function, 7.16.2.3, 7.16.3.4 log function, 7.7.6.4, F.9.3.6 log type-generic macro, 7.9.1 log10 function, 7.7.6.5, F.9.3.7 log10 type-generic macro, 7.9.1 log1p function, 7.7.6.9, F.9.3.8 log1p type-generic macro, 7.9.1 log2 function, 7.7.6.10, F.9.3.9 log2 type-generic macro, 7.9.1 logarithmic functions, 7.7.6, F.9.3 logb function, 7.7.6.11, F.9.3.10 logb type-generic macro, 7.9.1 logical operators AND (&&), 6.3.13 negation (!), 6.3.3.3 OR (||), 6.3.14 logical source lines, 5.1.1.2 long double complex type, 6.1.2.5 long double complex type conversion, 6.2.1.5, 6.2.1.6, 6.2.1.7 long double suffix, l or L, 6.1.3.1 long double type, 6.1.2.5, 6.1.3.1, 6.5.2 long double type conversion, 6.2.1.3, 6.2.1.4, 6.2.1.6, 6.2.1.7 long int type, 6.1.2.5, 6.2.1.1, 6.5.2 long int type conversion, 6.2.1.1, 6.2.1.2, 6.2.1.3, 6.2.1.7 long integer suffix, l or L, 6.1.3.2 long long int type, 6.1.2.5, 6.2.1.1, 6.5.2 long long int type conversion, 6.2.1.1, 6.2.1.2, 6.2.1.3, 6.2.1.7 long long integer suffix, ll or LL, 6.1.3.2 LONG_MAX macro, 5.2.4.2.1, 7.14.1.8, 7.16.2.6, 7.19.4.1.4 LONG_MIN macro, 5.2.4.2.1, 7.14.1.8, 7.19.4.1.4 longjmp function, 7.10.1.1, 7.10.2.1 loop body, 6.6.5 low-order bit, 3.4 lrint function, 7.7.9.5, 7.7.9.6, F.9.6.5 lrint type-generic macro, 7.9.1 lround function, 7.7.9.8, 7.7.9.9, F.9.6.7 lround type-generic macro, 7.9.1 lvalue, 6.2.2.1, 6.3.1, 6.3.2.4, 6.3.3.1, 6.3.16 machine dependency, K.3 macro argument substitution, 6.8.3.1 macro definition library function, 7.1.8 macro invocation, 6.8.3 macro name, 5.2.4.1, 6.8.3 Index WG14/N800 Working Draft, 1998-1-5 23 predefined, 6.8.8 redefinition, 6.8.3 scope, 6.8.3.5 macro parameter, 6.8.3 macro preprocessor, 6.8 macro replacement, 6.8.3 main function, 5.1.2.2.1, 5.1.2.2.3, 7.13.3 malloc function, 7.14.3, 7.14.3.2, 7.14.3.3, 7.14.3.4 manipulation functions, 7.7.11, F.9.8 mapping functions wide character extensible, 7.18.3.2 mapping utilities wide character, 7.18.3 matching failure, 7.13.6.2, 7.19.2.2, 7.19.2.10, 7.19.2.11, 7.19.2.12 math.h header, 6.3, 7.7, 7.9, 7.14.1.5, 7.19.4.1.1, F, F.9 maximum functions, 7.7.12, F.9.9 MB_CUR_MAX macro, 7.1.1, 7.14, 7.14.7.2, 7.14.7.3, 7.19.7.3.3 MB_LEN_MAX macro, 5.2.4.2.1, 7.1.1, 7.14 mblen function, 7.14.7.1, 7.19.7.3 mbrlen function, 7.19.7.3.1 mbrtowc function, 7.13.3, 7.13.6.2, 7.19.2.1, 7.19.7.3.1, 7.19.7.3.2, 7.19.7.4.1 mbsinit function, 7.19.7.2 mbsrtowcs function, 7.19.7.4.1 mbstate_t type, 7.13.2, 7.13.3, 7.13.6.2, 7.19.1, 7.19.2.1, 7.19.2.2, 7.19.7, 7.19.7.2, 7.19.7.3, 7.19.7.3.1, 7.19.7.4 mbstowcs function, 7.14.8.1, 7.19.7.4 mbtowc function, 7.14.7.1, 7.14.7.2, 7.14.8.1, 7.19.7.3 member access operators (. and ->), 6.3.2.3 member alignment, 6.5.2.1 memchr function, 7.15.5.1 memcmp function, 7.15.4, 7.15.4.1 memcpy function, 7.15.2.1 memmove function, 7.15.2.2 memory management functions, 7.14.3 memset function, 7.15.6.1 minimum functions, 7.7.12, F.9.9 minus operator, unary, 6.3.3.3 mktime function, 7.16.2.3, 7.16.2.4 mkxtime function, 7.16.2.4, 7.16.2.6 modf function, 7.7.6.6, F.9.3.11 modifiable lvalue, 6.2.2.1 modulus function, 7.7.6.6 multibyte character, 3.14, 5.2.1.2, 7.14.7, 7.14.8 multibyte character functions, 7.14.7, 7.14.8 multibyte characters, 6.1.3.4 multibyte conversion functions wide character restartable, 7.19.7.3 wide string Index 24 Working Draft, 1998-1-5 WG14/N800 restartable, 7.19.7.4 multibyte string functions, 7.14.8 multibyte/wide-character conversion functions restartable, 7.19.7.3 multibyte/wide-string conversion functions restartable, 7.19.7.4 multidimensional array, 6.3.2.1 multiple external definitions, K.5.11 multiplication assignment operator (*=), 6.3.16.2 multiplication operator (*), 6.3.5 multiplicative expressions, 6.3.5 name external, 6.1.2 file, 7.13.3 internal, 6.1.2 label, 6.1.2.3 structure/union member, 6.1.2.3 name spaces, 6.1.2.3 named label, 6.6.1 NaN, 5.2.4.2.2 quiet, 5.2.4.2.2 signaling, 5.2.4.2.2 nan function, 7.7.11.2, F.9.8.2 NAN macro, 7.7 NDEBUG macro, 7.2 nearbyint function, 7.7.9.3, F.9.6.3 nearbyint type-generic macro, 7.9.1 nearest integer functions, 7.7.9, F.9.6 negation operator (!), 6.3.3.3 new-line character, 5.1.1.2, 5.2.1, 6.1, 6.8, 6.8.4 new-line escape sequence (\n), 5.2.2, 6.1.3.4, 7.3.1.10 nextafter function, 7.7.11.3, 7.7.11.4, F.9.8.3 nextafter type-generic macro, 7.9.1 nextafterx function, 7.7.11.4 nextafterx type-generic macro, 7.9.1 no linkage, 6.1.2.2 nongraphic characters, 5.2.2, 6.1.3.4 nonlocal jumps header, 7.10 normalization of broken-down times, 7.16.2.6 not macro, 7.17 not-equal-to operator, see inequality operator not_eq macro, 7.17 null character (\0), 5.2.1, 6.1.3.4, 6.1.4 padding of binary stream, 7.13.2 NULL macro, 7.1.6, 7.5, 7.13.1, 7.14, 7.15.1, 7.16.1, 7.19.1 null pointer, 6.2.2.3 null pointer constant, 6.2.2.3 null preprocessing directive, 6.8.7 null statement, 6.6.3 null wide character, 7.1.1 numeric conversion functions wide string, 7.19.4.1 numerical limits, 5.2.4.2 Index WG14/N800 Working Draft, 1998-1-5 25 object, 3.15 object type, 6.1.2.5 object-like macro, 6.8.3 obsolescence, 6.9, 7.20 octal constant, 6.1.3.2 octal digit, 6.1.3.2, 6.1.3.4 octal-character escape sequence (\octal digits), 6.1.3.4 offsetof macro, 7.1.6 operand, 6.1.5, 6.3 operating system, 5.1.2.1, 7.14.4.5 operations on files, 7.13.4 operators, 6.1.5, 6.3 assignment, 6.3.16 associativity, 6.3 equality, 6.3.9 multiplicative, 6.3.5 postfix, 6.3.2 precedence, 6.3 preprocessing, 6.8.1, 6.8.3.2, 6.8.3.3, 6.8.9 relational, 6.3.8 shift, 6.3.7 unary, 6.3.3 unary arithmetic, 6.3.3.3 or macro, 7.17 OR operators bitwise exclusive (^), 6.3.11 bitwise exclusive assignment (^=), 6.3.16.2 bitwise inclusive (|), 6.3.12 bitwise inclusive assignment (|=), 6.3.16.2 logical (||), 6.3.14 or_eq macro, 7.17 order of allocated storage, 7.14.3 order of evaluation of expressions, 6.3 ordinary identifier name space, 6.1.2.3 orientation of stream, 7.13.2, 7.19.3.10 outer scope, 6.1.2.1 padding binary stream, 7.13.2 structure/union, 6.5.2.1 parameter, 3.16 array, 6.7.1 ellipsis, 6.5.5.3, 6.8.3 function, 6.3.2.2, 6.7.1 macro, 6.8.3 main function, 5.1.2.2.1 program, 5.1.2.2.1 parameter type list, 6.5.5.3 parentheses punctuator (( )), 6.1.6, 6.5.5.3, 6.6.4, 6.6.5 parenthesized expression, 6.3.1 permitted form of initializer, 6.4 perror function, 7.13.10.4 physical source lines, 5.1.1.2 placemarker, 6.8.3.3 Index 26 Working Draft, 1998-1-5 WG14/N800 plus operator, unary, 6.3.3.3 pointer arithmetic, 6.3.6 pointer comparison, 6.3.8 pointer declarator, 6.5.5.1 pointer operator (->), 6.3.2.3 pointer to function, 6.3.2.2 pointer type, 6.1.2.5 pointer type conversion, 6.2.2.1, 6.2.2.3 pointer, null, 6.2.2.3 portability, 4, K position indicator, file, see file position indicator positive difference, 7.7.12.1 positive difference functions, 7.7.12, F.9.9 postfix decrement operator (--), 6.2.2.1, 6.3.2.4 postfix expressions, 6.3.2 postfix increment operator (++), 6.2.2.1, 6.3.2.4 pow function, 7.7.7.2, F.9.4.3 pow type-generic macro, 7.9.1 power functions, 7.7.7, 7.8.2.18, F.9.4 pp-number, 6.1.8 pragma operator, 6.8.9 pragma preprocessing directive, 6.9.5 pragma preprocessing directive, 6.8.6 precedence of operators, 6.3 precedence of syntax rules, 5.1.1.2 predefined macro names, 6.8.8, K.5.12 prefix decrement operator (--), 6.2.2.1, 6.3.3.1 prefix increment operator (++), 6.2.2.1, 6.3.3.1 preprocessing concatenation, 6.8.3.3 preprocessing directives, 5.1.1.2, 6.8 preprocessing numbers, 6.1, 6.1.8 preprocessing operators #, 6.8.3.2 ##, 6.8.3.3 _Pragma, 6.8.9 defined, 6.8.1 preprocessing tokens, 5.1.1.2, 6.1, 6.8 preprocessing translation unit, 5.1.1.1 preprocessor, 6.8 PRIcFASTn macros, 7.4.4 PRIcLEASTn macros, 7.4.4 PRIcMAX macros, 7.4.4 PRIcn_C macros, 7.4.4 PRIcPTR macros, 7.4.4 primary expression, 6.3.1 printf function, 7.13.1, 7.13.6.3, 7.13.6.9 printing character, 5.2.2, 7.3, 7.3.1.8 printing wide character, 7.18.2 program diagnostics, 7.2.1 program execution, 5.1.2.2.2, 5.1.2.3 program file, 5.1.1.1 program image, 5.1.1.2 program name (argv[0]), 5.1.2.2.1 program parameters, 5.1.2.2.1 Index WG14/N800 Working Draft, 1998-1-5 27 program startup, 5.1.2, 5.1.2.1, 5.1.2.2.1 program structure, 5.1.1.1 program termination, 5.1.2, 5.1.2.1, 5.1.2.2.3, 5.1.2.3 program, conforming, 4 program, strictly conforming, 4 promotions default argument, 6.3.2.2 integer, 5.1.2.3, 6.2.1.1 prototype, see function prototype pseudo-random sequence functions, 7.14.2 PTRDIFF_MAX macro, 7.4.5 PTRDIFF_MIN macro, 7.4.5 ptrdiff_t type, 7.1.6, 7.4.5 punctuators, 6.1.6 putc function, 7.13.1, 7.13.7.8, 7.13.7.9 putchar function, 7.13.1, 7.13.7.9 puts function, 7.13.1, 7.13.7.10 putwc function, 7.13.1, 7.19.3.7, 7.19.3.8 putwchar function, 7.13.1, 7.19.3.8 qsort function, 7.14.5, 7.14.5.2 qualified types, 6.1.2.5 qualified version of type, 6.1.2.5 question-mark escape sequence (\?), 6.1.3.4 quiet NaN, 5.2.4.2.2, 7.7.11.2 raise function, 7.11, 7.11.1.1, 7.11.2.1, 7.14.4.1 rand function, 7.14, 7.14.2.1, 7.14.2.2 RAND_MAX macro, 7.14, 7.14.2.1 range error, 7.7.1, 7.7.5.1, 7.7.5.2, 7.7.6.1, 7.7.6.3, 7.7.6.4, 7.7.6.5, 7.7.6.7, 7.7.6.8, 7.7.6.9, 7.7.6.10, 7.7.6.11, 7.7.6.12, 7.7.6.14, 7.7.7.2, 7.7.7.5, 7.7.8.2, 7.7.8.3, 7.7.8.4, 7.7.9.5, 7.7.12.1 real floating type conversion, 6.2.1.3, 6.2.1.4, 6.2.1.6 real floating types, 6.1.2.5 real type-domain, 6.1.2.5 real types, 6.1.2.5 realloc function, 7.14.3, 7.14.3.2, 7.14.3.4 recommended practice, 3.17 recursion, 6.3.2.2 recursive function call, 6.3.2.2 redefinition of macro, 6.8.3 reentrancy, 5.1.2.3, 5.2.3 library functions, 7.1.8 referenced type, 6.1.2.5 register storage-class specifier, 6.5.1, 6.7 relational expressions, 6.3.8 reliability of data, interrupted, 5.1.2.3 remainder assignment operator (%=), 6.3.16.2 remainder function, 7.7.10.2, 7.7.10.3, F.9.7.2 remainder functions, 7.7.10, F.9.7 remainder operator (%), 6.3.5 remainder type-generic macro, 7.9.1 remove function, 7.13.4.1, 7.13.4.4 Index 28 Working Draft, 1998-1-5 WG14/N800 remquo function, 7.7.10.3, F.9.7.3 remquo type-generic macro, 7.9.1 rename function, 7.13.4.2 rescanning and replacement, 6.8.3.4 reserved identifiers, 7.1.3 reserved words, 6.1.1 restartable multibyte/wide-character conversion functions, 7.19.7.3 restartable multibyte/wide-string conversion functions, 7.19.7.4 restore calling environment function, 7.10.2 restrict type qualifier, 6.5.3, 6.5.3.1 restrict-qualified type, 6.1.2.5, 6.5.3 restrictions on registers, K.3.8 return statement, 6.6.6.4 rewind function, 7.13.5.3, 7.13.7.11, 7.13.9.5, 7.19.3.9 right-shift assignment operator (>>=), 6.3.16.2 right-shift operator (>>), 6.3.7 rint function, 7.7.9.3, 7.7.9.4, F.9.6.4 rint type-generic macro, 7.9.1 round function, 7.7.9.7, F.9.6.6 round type-generic macro, 7.9.1 rounding mode, floating point, 5.2.4.2.2 rvalue, 6.2.2.1 save calling environment function, 7.10.1 scalar types, 6.1.2.5 scalbln function, 7.7.6.13 scalbln type-generic macro, 7.9.1 scalbn function, 7.7.6.12, F.9.3.12 scalbn type-generic macro, 7.9.1 scanf function, 7.13.1, 7.13.6.4, 7.13.6.13 scanlist, 7.13.6.2 SCHAR_MAX macro, 5.2.4.2.1 SCHAR_MIN macro, 5.2.4.2.1 SCNcFASTn macros, 7.4.4 SCNcLEASTn macros, 7.4.4 SCNcMAX macros, 7.4.4 SCNcn_C macros, 7.4.4 SCNcPTR macros, 7.4.4 scope of externals, 6.7.2 scope of identifier, 6.1.2.1 search functions string, 7.15.5 utility, 7.14.5 wide string, 7.19.4.5 SEEK_CUR macro, 7.13.1, 7.13.9.2 SEEK_END macro, 7.13.1, 7.13.9.2 SEEK_SET macro, 7.13.1, 7.13.9.2 selection statements, 6.6.4 self-referential structure, 6.5.2.3 semicolon punctuator (;), 6.1.6, 6.5, 6.5.2.1, 6.6.3, 6.6.5, 6.6.6 separate compilation, 5.1.1.1 Index WG14/N800 Working Draft, 1998-1-5 29 separate translation, 5.1.1.1 sequence points, 5.1.2.3, 6.3, 6.6, 7.14.5, C sequencing of statements, 6.6 setbuf function, 7.13.3, 7.13.5.5 setjmp macro, 7.10.1.1, 7.10.2.1 setjmp.h header, 7.10 setlocale function, 7.5.1.1, 7.5.2.1 setvbuf function, 7.13.1, 7.13.3, 7.13.5.5, 7.13.5.6 shift expressions, 6.3.7 shift sequence, 7.1.1 shift states, 5.2.1.2, 7.14.7 short int type, 6.1.2.5, 6.2.1.1, 6.5.2 short int type conversion, 6.2.1.1, 6.2.1.2, 6.2.1.3, 6.2.1.7 SHRT_MAX macro, 5.2.4.2.1 SHRT_MIN macro, 5.2.4.2.1 side effects, 5.1.2.3, 6.3 SIG_ATOMIC_MAX macro, 7.4.5 SIG_ATOMIC_MIN macro, 7.4.5 sig_atomic_t type, 7.4.5, 7.11, 7.11.1.1 SIG_DFL macro, 7.11, 7.11.1.1 SIG_ERR macro, 7.11, 7.11.1.1 SIG_IGN macro, 7.11, 7.11.1.1 SIGABRT macro, 7.11, 7.14.4.1 SIGFPE macro, 7.11, 7.11.1.1 SIGILL macro, 7.11, 7.11.1.1 SIGINT macro, 7.11 signal function, 7.11.1.1 signal handler, 5.1.2.3, 5.2.3, 7.11.1.1, 7.11.2.1 signal handler arguments, K.5.13 signal handling functions, 7.11.1 signal.h header, 7.11, 7.20.5 signaling NaN, 5.2.4.2.2 signals, 5.1.2.3, 5.2.3, 7.11.1 signbit macro, 7.7.3.2 signed char type, 6.1.2.5 signed character, 6.2.1.1 signed integer types, 6.1.2.5, 6.1.3.2, 6.2.1.2 signed type conversion, 6.2.1.1, 6.2.1.2, 6.2.1.3, 6.2.1.7 signed types, 6.1.2.5, 6.5.2 significand part, 6.1.3.1 SIGSEGV macro, 7.11, 7.11.1.1 SIGTERM macro, 7.11 simple assignment operator (=), 6.3.16.1 sin function, 7.7.4.6, F.9.1.6 sin type-generic macro, 7.9.1 single-byte character, 5.2.1.2 single-byte wide-character conversion functions, 7.19.7.1 single-precision arithmetic, 5.1.2.3 single-quote escape sequence (\'), 6.1.3.4, 6.1.4 sinh function, 7.7.5.2, F.9.2.5 sinh type-generic macro, 7.9.1 SIZE_MAX macro, 7.4.5 size_t type, 7.1.6, 7.4.5, 7.13.1, 7.14, 7.15.1, 7.16.1, Index 30 Working Draft, 1998-1-5 WG14/N800 7.19.1 sizeof operator, 6.2.2.1, 6.3.3, 6.3.3.4 snprintf function, 7.13.6.6, 7.13.6.11 sorting utility functions, 7.14.5 source character set, 5.1.1.2, 5.2.1 source file, 5.1.1.1 source file inclusion, 6.8.2 source lines, 5.1.1.2 source text, 5.1.1.2 space character (' '), 5.1.1.2, 5.2.1, 6.1, 7.3.1.10 sprintf function, 7.13.6.5, 7.13.6.10 sqrt function, 7.7.7.3, F.9.4.4 sqrt type-generic macro, 7.9.1 srand function, 7.14.2.2 sscanf function, 7.13.6.7, 7.13.6.14 standard error stream, 7.13.1, 7.13.3, 7.13.10.4 standard headers, 4, 7.1.2 , 7.2, D.4 , 6.1.1, 7.8, 7.9, 7.20.8, G.5 , 7.3, 7.20.2 , 7.1.4, 7.20.1 , 5.1.2.3, 5.2.4.2.2, 7.6, F, H , 4, 5.2.4.2.2, 7.1.5 , 6.8.1, 7.4, 7.4.2, 7.20.3 , 4, 7.17 , 4, 5.2.4.2.1, 6.1.2.5, 6.3.3.3, 6.3.7, 7.1.5 , 7.5, 7.20.4 , 6.3, 7.7, 7.9, 7.14.1.5, 7.19.4.1.1, F, F.9 , 7.10 , 7.11, 7.20.5 , 4, 6.5.5.3, 7.12 , 7.1.7, H , 4, 6.1.3.4, 6.1.4, 6.2.2.1, 6.2.2.3, 6.3.3.4, 6.3.6, 7.1.6 , 7.13, 7.20.6, F , 7.14, 7.20.7, F , 7.15, 7.20.9 , 7.9, G.6 , 7.16 , 7.13.1, 7.19, 7.20.11, F , 7.18, 7.20.10 standard input stream, 7.13.1, 7.13.3 standard output stream, 7.13.1, 7.13.3 standard signed integer types, 6.1.2.5 state-dependent encoding, 5.2.1.2, 7.14.7 statements, 6.6 break, 6.6.6.3 compound, 6.6.2 continue, 6.6.6.2 do, 6.6.5.2 else, 6.6.4.1 expression, 6.6.3 for, 6.6.5.3 goto, 6.6.6.1 Index WG14/N800 Working Draft, 1998-1-5 31 if, 6.6.4.1 iteration, 6.6.5 jump, 6.6.6 labeled, 6.6.1 null, 6.6.3 return, 6.6.6.4 selection, 6.6.4 sequencing, 6.6 switch, 6.6.4.2 while, 6.6.5.1 static storage duration, 6.1.2.4 static storage-class specifier, 6.1.2.2, 6.1.2.4, 6.5.1 stdarg.h header, 4, 6.5.5.3, 7.12 stdbool.h header, 7.1.7, H STDC, 6.8.6, 6.9.5 stddef.h header, 4, 6.1.3.4, 6.1.4, 6.2.2.1, 6.2.2.3, 6.3.3.4, 6.3.6, 7.1.6 stderr macro, 7.13.1, 7.13.2, 7.13.3 stdin macro, 7.13.1, 7.13.2, 7.13.3, 7.13.6.4, 7.13.7.6, 7.13.7.7, 7.19.2.4, 7.19.3.6 stdio.h header, 7.13, 7.20.6, F stdlib.h header, 7.14, 7.20.7, F stdout macro, 7.13.1, 7.13.2, 7.13.3, 7.13.6.3, 7.13.7.9, 7.13.7.10, 7.19.2.3, 7.19.3.8 storage duration, 6.1.2.4 storage order of array, 6.3.2.1 storage-class specifiers, 6.5.1, 6.9.2 strcat function, 7.15.3.1 strchr function, 7.15.5.2 strcmp function, 7.15.4, 7.15.4.2 strcoll function, 7.5.1.1, 7.15.4.3, 7.15.4.5 strcpy function, 7.15.2.3 strcspn function, 7.15.5.3 streams, 7.13.2, 7.14.4.3, K.5.14 fully buffered, 7.13.3 line buffered, 7.13.3 orientation, 7.13.2 standard error, 7.13.1, 7.13.3 standard input, 7.13.1, 7.13.3 standard output, 7.13.1, 7.13.3 unbuffered, 7.13.3 strerror function, 7.13.10.4, 7.15.6.2 strftime function, 7.5.1.1, 7.16.3, 7.16.3.6, 7.16.3.7, 7.19.5 strfxtime function, 7.5.1.1, 7.16.3, 7.16.3.7 strictly conforming program, 4 string, 7.1.1 comparison functions, 7.15.4 concatenation functions, 7.15.3 conversion functions, 7.5.1.1, 7.14.1 copying functions, 7.15.2 library function conventions, 7.15.1 literal, 5.1.1.2, 5.2.1, 6.1.4, 6.2.2.1, 6.3.1, 6.5.8 miscellaneous functions, 7.15.6 Index 32 Working Draft, 1998-1-5 WG14/N800 search functions, 7.15.5 string handling header, 7.15 string.h header, 7.15, 7.20.9 stringizing, 6.8.3.2, 6.8.9 strlen function, 7.15.6.3 strncat function, 7.15.3.2 strncmp function, 7.15.4, 7.15.4.4 strncpy function, 7.15.2.4 strpbrk function, 7.15.5.4 strrchr function, 7.15.5.5 strspn function, 7.15.5.6 strstr function, 7.15.5.7 strtod function, 7.7.11.2, 7.13.6.2, 7.14.1.1, 7.14.1.5, 7.14.1.6, 7.14.1.7 strtof function, 7.14.1.6 strtoimax function, 7.4.6.1 strtok function, 7.15.5.8 strtol function, 7.4.6.1, 7.13.6.2, 7.14.1.2, 7.14.1.3, 7.14.1.8, 7.14.1.9 strtold function, 7.14.1.7 strtoll function, 7.14.1.4, 7.14.1.9 strtoul function, 7.4.6.2, 7.13.6.2, 7.14.1.10, 7.14.1.11 strtoull function, 7.14.1.11 strtoumax function, 7.4.6.2 structure arrow operator (->), 6.3.2.3 content, 6.5.2.3 dot operator (.), 6.3.2.3 initialization, 6.5.8 member alignment, 6.5.2.1 member name space, 6.1.2.3 member operator (.), 6.2.2.1, 6.3.2.3 pointer operator (->), 6.3.2.3 specifier, 6.5.2.1 tag, 6.1.2.3, 6.5.2.3 type, 6.1.2.5, 6.5.2.1 strxfrm function, 7.5.1.1, 7.15.4.5 subscripting, 6.3.2.1 subtraction assignment operator (-=), 6.3.16.2 subtraction operator (-), 6.3.6 suffix floating constant, 6.1.3.1 integer constant, 6.1.3.2 switch body, 6.6.4.2 switch case label, 6.6.1, 6.6.4.2 switch default label, 6.6.1, 6.6.4.2 switch statement, 6.6.1, 6.6.4.2 swprintf function, 7.19.2.5, 7.19.2.9 swscanf function, 7.19.2.6, 7.19.2.12 syntactic categories, 6 syntax notation, 6 syntax rule precedence, 5.1.1.2 syntax summary, language, B system function, 7.14.4.5 Index WG14/N800 Working Draft, 1998-1-5 33 tab characters, 5.2.1, 6.1 tag name space, 6.1.2.3 tags, 6.5.2.3 tan function, 7.7.4.7, F.9.1.7 tan type-generic macro, 7.9.1 tanh function, 7.7.5.3, F.9.2.6 tanh type-generic macro, 7.9.1 tentative definition, 6.7.2 text streams, 7.13.2, 7.13.7.11, 7.13.9.2, 7.13.9.4 tgmath.h header, 7.9, G.6 time broken down, 7.16.2.3, 7.16.3, 7.16.3.1, 7.16.3.3, 7.16.3.4, 7.16.3.5, 7.16.3.6 calendar, 7.16.1, 7.16.2.2, 7.16.2.3, 7.16.2.5, 7.16.3.2, 7.16.3.3, 7.16.3.4, 7.16.3.5 components, 7.16.1 conversion functions, 7.16.3 local, 7.16.1 manipulation functions, 7.16.2 time function, 7.16.2.5 time.h header, 7.16 time_t type, 7.16.1 tm structure type, 7.16.1, 7.19.1 TMP_MAX macro, 7.13.1, 7.13.4.4 tmpfile function, 7.13.4.3, 7.14.4.3 tmpnam function, 7.13.1, 7.13.4.4 tmx structure type, 7.16.1 token, 5.1.1.2, 6.1, see also preprocessing tokens token concatenation, 6.8.3.3 token pasting, 6.8.3.3 tolower function, 7.3.2.1 toupper function, 7.3.2.2 towctrans function, 7.18.3.2.1, 7.18.3.2.2 towlower function, 7.18.3.1.1, 7.18.3.2.2 towupper function, 7.18.3.1.2, 7.18.3.2.2 translation environment, 5, 5.1.1 translation limits, 5.2.4.1 translation phases, 5.1.1.2 translation unit, 5.1.1.1, 6.7 trap representation, 6.1.2.8.1 trigonometric functions, 7.7.4, F.9.1 trigraph sequences, 5.1.1.2, 5.2.1.1 true macro, 7.1.7 trunc function, 7.7.9.10, F.9.6.8 trunc type-generic macro, 7.9.1 truncation toward zero, 6.3.5 type category, 6.1.2.5 type conversion, 6.2 type definitions, 6.5.7 type names, 6.5.6 type qualifiers, 6.5.3 type specifiers, 6.5.2 type-domain, 6.1.2.5 type-generic macros, 7.9 Index 34 Working Draft, 1998-1-5 WG14/N800 typedef declaration, 6.5.7 typedef storage-class specifier, 6.5.1, 6.5.7 types, 6.1.2.5 character, 6.2.2.1, 6.5.8 compatible, 6.1.2.6, 6.5.2, 6.5.3, 6.5.5 complex, 6.1.2.5 composite, 6.1.2.6 const qualified, 6.5.3 conversions, 6.2 restrict qualified, 6.5.3 volatile qualified, 6.5.3 UCHAR_MAX macro, 5.2.4.2.1 UINT_FASTn_MAX macros, 7.4.2.3 uint_fastn_t types, 7.4.1.3 UINT_LEASTn_MAX macros, 7.4.2.2 uint_leastn_t types, 7.4.1.2 UINT_MAX macro, 5.2.4.2.1 UINTMAX_C macro, 7.4.3.2 UINTMAX_MAX macro, 7.4.2.5, 7.4.6.2, 7.4.6.4 uintmax_t type, 7.4.1.5 UINTn_C macros, 7.4.3.1 UINTn_MAX macros, 7.4.2.1 uintn_t types, 7.4.1.1 UINTPTR_MAX macro, 7.4.2.4 uintptr_t type, 7.4.1.4 ULLONG_MAX macro, 5.2.4.2.1, 7.14.1.11, 7.19.4.1.7 ULONG_MAX macro, 5.2.4.2.1, 7.14.1.10, 7.19.4.1.6 unary arithmetic operators, 6.3.3.3 unary expressions, 6.3.3 unary minus operator (-), 6.3.3.3 unary operators, 6.3.3 unary plus operator (+), 6.3.3.3 unbuffered stream, 7.13.3 undef preprocessing directive, 6.8.3.5, 7.1.3, 7.1.8 undefined behavior, 3.18, K.2 underscore character, 6.1.2 underscore, leading, in identifier, 7.1.3 ungetc function, 7.13.1, 7.13.7.11, 7.13.9.2, 7.13.9.3 ungetwc function, 7.13.1, 7.19.3.9 union arrow operator (->), 6.3.2.3 content, 6.5.2.3 dot operator (.), 6.3.2.3 initialization, 6.5.8 member alignment, 6.5.2.1 member name space, 6.1.2.3 member operator (.), 6.2.2.1, 6.3.2.3 pointer operator (->), 6.3.2.3 specifier, 6.5.2.1 tag, 6.1.2.3, 6.5.2.3 type, 6.1.2.5, 6.5.2.1 universal character name, 5.1.1.2, 5.2.1 unqualified type, 6.1.2.5 Index WG14/N800 Working Draft, 1998-1-5 35 unqualified version of type, 6.1.2.5 unsigned integer suffix, u or U, 6.1.3.2 unsigned integer types, 6.1.2.5, 6.1.3.2, 6.2.1.2 unsigned type conversion, 6.2.1.1, 6.2.1.2, 6.2.1.3, 6.2.1.7 unsigned types, 6.1.2.5 unsigned types, 6.5.2 unspecified behavior, 3.19, K.1 use of library functions, 7.1.8 USHRT_MAX macro, 5.2.4.2.1 usual arithmetic conversions, 6.2.1.7, 6.3.5, 6.3.6, 6.3.8, 6.3.9, 6.3.10, 6.3.11, 6.3.12, 6.3.15 utilities general wide string, 7.19.4 va_arg macro, 7.12, 7.12.1, 7.12.1.1, 7.12.1.2, 7.12.1.3, 7.13.6.8, 7.13.6.9, 7.13.6.10, 7.13.6.11, 7.13.6.12, 7.13.6.13, 7.13.6.14, 7.19.2.7, 7.19.2.8, 7.19.2.9, 7.19.2.10, 7.19.2.11, 7.19.2.12 va_copy macro, 7.12, 7.12.1, 7.12.1.3 va_end macro, 7.12, 7.12.1, 7.12.1.1, 7.12.1.4, 7.13.6.8, 7.13.6.9, 7.13.6.10, 7.13.6.11, 7.13.6.12, 7.13.6.13, 7.13.6.14, 7.19.2.7, 7.19.2.8, 7.19.2.9, 7.19.2.10, 7.19.2.11, 7.19.2.12 va_list type, 7.12, 7.12.1.2, 7.12.1.3, 7.12.1.4 va_start macro, 7.12, 7.12.1, 7.12.1.1, 7.12.1.2, 7.12.1.3, 7.12.1.4, 7.13.6.8, 7.13.6.9, 7.13.6.10, 7.13.6.11, 7.13.6.12, 7.13.6.13, 7.13.6.14, 7.19.2.7, 7.19.2.8, 7.19.2.9, 7.19.2.10, 7.19.2.11, 7.19.2.12 variable arguments, 6.8.3, 7.12 variable arguments header, 7.12 variable length array, 6.5.5, 6.5.5.2 variably modified type, 6.5.5, 6.5.5.2 vertical-tab character, 5.2.1, 6.1 vertical-tab escape sequence (\v), 5.2.2, 6.1.3.4, 7.3.1.10 vfprintf function, 7.13.1, 7.13.6.8 vfscanf function, 7.13.1, 7.13.6.8, 7.13.6.12 vfwprintf function, 7.13.1, 7.19.2.7 vfwscanf function, 7.13.1, 7.19.2.10, 7.19.3.9 visibility of identifier, 6.1.2.1 void expression, 6.2.2.2 void function parameter, 6.5.5.3 void type, 6.1.2.5, 6.2.2.2, 6.5.2 void type conversion, 6.2.2.2 volatile storage, 5.1.2.3 volatile type qualifier, 6.5.3 volatile-qualified type, 6.1.2.5, 6.5.3 vprintf function, 7.13.1, 7.13.6.8, 7.13.6.9 vscanf function, 7.13.1, 7.13.6.8, 7.13.6.13 vsnprintf function, 7.13.6.8, 7.13.6.11 vsprintf function, 7.13.6.8, 7.13.6.10 vsscanf function, 7.13.6.8, 7.13.6.14 vswprintf function, 7.19.2.9 vswscanf function, 7.19.2.12 Index 36 Working Draft, 1998-1-5 WG14/N800 vwprintf function, 7.13.1, 7.19.2.8 vwscanf function, 7.13.1, 7.19.2.11, 7.19.3.9 wchar.h header, 7.13.1, 7.19, 7.20.11, F WCHAR_MAX macro, 7.4.5, 7.19.1 WCHAR_MIN macro, 7.4.5, 7.19.1 wchar_t type, 6.1.3.4, 6.1.4, 6.5.8, 7.1.6, 7.4.5, 7.14, 7.19.1 wcrtomb function, 7.13.3, 7.19.2.2, 7.19.7.3.3, 7.19.7.4.2 wcscat function, 7.19.4.3.1 wcschr function, 7.19.4.5.1 wcscmp function, 7.19.4.4.1, 7.19.4.4.4 wcscoll function, 7.19.4.4.2, 7.19.4.4.4 wcscpy function, 7.19.4.2.1 wcscspn function, 7.19.4.5.2 wcsftime function, 7.19.5, 7.19.6 wcsfxtime function, 7.19.6 wcslen function, 7.19.4.5.8 wcsncat function, 7.19.4.3.2 wcsncmp function, 7.19.4.4.3 wcsncpy function, 7.19.4.2.2 wcspbrk function, 7.19.4.5.3 wcsrchr function, 7.19.4.5.4 wcsrtombs function, 7.19.7.4.2 wcsspn function, 7.19.4.5.5 wcsstr function, 7.19.4.5.6 wcstod function, 7.19.2.2, 7.19.4.1.1, 7.19.4.1.2, 7.19.4.1.3 wcstof function, 7.19.4.1.2 wcstoimax function, 7.4.6.3 wcstok function, 7.19.4.5.7 wcstol function, 7.4.6.3, 7.19.2.2, 7.19.4.1.4, 7.19.4.1.5 wcstold function, 7.19.4.1.3 wcstoll function, 7.19.4.1.5 wcstombs function, 7.14.8.2, 7.19.7.4 wcstoul function, 7.4.6.4, 7.19.2.2, 7.19.4.1.6, 7.19.4.1.7 wcstoull function, 7.19.4.1.7 wcstoumax function, 7.4.6.4 wcsxfrm function, 7.19.4.4.4 wctob function, 7.18.2.1, 7.19.7.1.2 wctomb function, 7.14.7.3, 7.14.8.2, 7.19.7.3 wctrans function, 7.18.3.2.1, 7.18.3.2.2 wctrans_t type, 7.18.1, 7.18.3.2.1 wctype function, 7.18.2.2.1, 7.18.2.2.2 wctype.h header, 7.18, 7.20.10 wctype_t type, 7.18.1, 7.18.2.2.1 WEOF macro, 7.18.1, 7.19.1, 7.19.3.1, 7.19.3.3, 7.19.3.5, 7.19.3.6, 7.19.3.7, 7.19.3.8, 7.19.3.9, 7.19.7.1.1 while statement, 6.6.5.1 white space, 5.1.1.2, 6.1, 6.8, 7.3.1.10, 7.18.2.1.10 white-space characters, 6.1 wide character, 7.1.1 case mapping functions, 7.18.3.1 classification functions, 7.18.2.1 Index WG14/N800 Working Draft, 1998-1-5 37 extensible, 7.18.2.2 constant, 6.1.3.4 formatted input/output functions, 7.19.2 mapping utilities, 7.18.3 wide string, 7.1.1 wide string literal, see string literal wide-character array functions, 7.19.4.6 wide-character conversion functions single byte, 7.19.7.1 wide-character input functions, 7.13.1 wide-character input/output functions, 7.13.1, 7.19.3 wide-character mapping functions extensible, 7.18.3.2 wide-character output functions, 7.13.1 wide-oriented stream, 7.13.2 wide-string comparison functions, 7.19.4.4 wide-string concatenation functions, 7.19.4.3 wide-string copying functions, 7.19.4.2 wide-string numeric conversion functions, 7.19.4.1 wide-string search functions, 7.19.4.5 WINT_MAX macro, 7.4.5 WINT_MIN macro, 7.4.5 wint_t type, 7.4.5, 7.18.1, 7.19.1 wmemchr function, 7.19.4.6.1 wmemcmp function, 7.19.4.6.2 wmemcpy function, 7.19.4.6.3 wmemmove function, 7.19.4.6.4 wmemset function, 7.19.4.6.5 wprintf function, 7.13.1, 7.19.2.3, 7.19.2.8 wscanf function, 7.13.1, 7.19.2.4, 7.19.2.11, 7.19.3.9 xor macro, 7.17 xor_eq macro, 7.17 zonetime function, 7.16.2.4, 7.16.3.5 Index