volatile

Usage volatile type qualifier

va_start

Defined in header <stdarg.h> void va_start( va_list ap, parmN ); The va_start macro enables access to the variable arguments following the named argument parmN. va_start should be invoked with an instance to a valid va_list object ap before any calls to va_arg. If parmN is declared with register storage class specifier, with an array type, with a function type, or with a type not compatible with the type that results from default argument promotions, the behavior is undefin

btowc

Defined in header <wchar.h> wint_t btowc( int c ); (since C95) Widens a single-byte character c (reinterpreted as unsigned char) to its wide character equivalent. Most multibyte character encodings use single-byte codes to represent the characters from the ASCII character set. This function may be used to convert such characters to wchar_t. Parameters c - single-byte character to widen Return value WEOF if c is EOF. wide character representation of c if (unsig

#error directive

Shows the given error message and renders the program ill-formed. Syntax #error error_message Explanation After encountering the #error directive, an implementation displays the diagnostic message error_message and renders the program ill-formed (the compilation stops). error_message can consist of several words not necessarily in quotes. References C11 standard (ISO/IEC 9899:2011): 6.10.5 Error directive (p: 174) C99 standard (ISO/IEC 9899:1999): 6.10.5 Error directive (p

strspn

Defined in header <string.h> size_t strspn( const char *dest, const char *src ); Returns the length of the maximum initial segment (span) of the null-terminated byte string pointed to by dest, that consists of only the characters found in the null-terminated byte string pointed to by src. The behavior is undefined if either dest or src is not a pointer to a null-terminated byte string. Parameters dest - pointer to the null-terminated byte string to be analyzed src

complex

Defined in header <complex.h> #define complex _Complex (since C99) This macro expands to a type specifier used to identify complex types. A program may undefine and perhaps then redefine the complex macro. References C11 standard (ISO/IEC 9899:2011): 7.3.1/4 complex (p: 188) C99 standard (ISO/IEC 9899:1999): 7.3.1/2 complex (p: 170) See also imaginary (C99) imaginary type macro (macro constant)

CLOCKS_PER_SEC

Defined in header <time.h> #define CLOCKS_PER_SEC /*implementation defined*/ Expands to an expression (not necessarily a compile-time constant) of type clock_t equal to the number of clock ticks per second, as returned by clock(). Notes POSIX defines CLOCKS_PER_SEC as one million, regardless of the actual precision of clock. Until standardized as CLOCKS_PER_SEC in C89, this macro was sometimes known by its IEEE std 1003.1-1988 name CLK_TCK: that name was not included in

INFINITY

Defined in header <math.h> #define INFINITY /*implementation defined*/ (since C99) If the implementation supports floating-point infinities, the macro INFINITY expands to constant expression of type float which evaluates to positive or unsigned infinity. If the implementation does not support floating-point infinities, the macro INFINITY expands to a positive value that is guaranteed to overflow a float at compile time, and the use of this macro generates a compiler warning

do-while loop

Executes a statement repeatedly until the value of condition becomes false. The test takes place after each iteration. Syntax do statement while ( expression ) ; expression - any expression of scalar type. This expression is evaluated after each iteration, and if it compares equal to zero, the loop is exited. statement - any statement, typically a compound statement, which is the body of the loop Explanation A do-while statement causes the statement (also called the

atomic_flag

Defined in header <stdatomic.h> typedef /* unspecified */ atomic_flag; (since C11) atomic_flag is an atomic boolean type. Unlike other atomic types, it is guaranteed to be lock-free. Unlike atomic_bool, atomic_flag does not provide load or store operations. References C11 standard (ISO/IEC 9899:2011): 7.17.1/4 atomic_flag (p: 273) 7.17.8 Atomic flag type and operations (p: 285-286)