Bit fields

Declares a member with explicit width, in bits. Adjacent bit field members may be packed to share and straddle the individual bytes. A bit field declaration is a struct or union member declaration which uses the following declarator: identifier(optional) : width identifier - the name of the bit field that is being declared. The name is optional: nameless bitfields introduce the specified number of bits of padding width - an integer constant expression with a value greater or

freopen

Defined in header <stdio.h> (1) FILE *freopen( const char *filename, const char *mode, FILE *stream ); (until C99) FILE *freopen( const char *restrict filename, const char *restrict mode, FILE *restrict stream ); (since C99) errno_t freopen_s(FILE *restrict *restrict newstreamptr, const char *restrict filename, const char *restrict mode, FILE *restrict stream); (2) (since C11) 1) First, attempts

Declarations

A declaration is a C language construct that introduces one or more identifiers into the program and specifies their meaning and properties. Declarations may appear in any scope. Each declaration ends with a semicolon (just like a statement) and consists of two distinct parts: specifiers-and-qualifiers declarators-and-initializers ; where. specifiers-and-qualifiers - whitespace-separated list of, in any order, exactly one type specifier: void the name of an arithmetic type th

wcstoul

Defined in header <wchar.h> unsigned long wcstoul( const wchar_t* str, wchar_t** str_end, int base ); (since C95) unsigned long long wcstoull( const wchar_t* str, wchar_t** str_end, int base ); (since C99) Interprets an unsigned integer value in a wide string pointed to by str. Discards any whitespace characters (as identified by calling isspace()) until the first non-whitespace character is found, then takes as many characters as possible to form a valid base-n

putwchar

Defined in header <wchar.h> wint_t putwchar( wchar_t ch ); (since C95) Writes a wide character ch to stdout. Parameters ch - wide character to be written Return value ch on success, WEOF on failure. References C11 standard (ISO/IEC 9899:2011): 7.29.3.9 The putwchar function (p: 425) C99 standard (ISO/IEC 9899:1999): 7.24.3.9 The putwchar function (p: 370) See also putchar writes a character to stdout (function) fputwcputwc (C95) writes

Conditional inclusion

The preprocessor supports conditional compilation of parts of a source file. This behavior is controlled by #if, #else, #elif, #ifdef, #ifndef and #endif directives. Syntax #if expression #ifdef expression #ifndef expression #elif expression #else #endif Explanation The conditional preprocessing block starts with #if, #ifdef or #ifndef directive, then optionally includes any number of #elif directives, then optionally includes at most one #else direct

#define directive

The preprocessor supports text macro replacement and function-like text macro replacement. Syntax #define identifier replacement-list(optional) (1) #define identifier( parameters ) replacement-list (2) #define identifier( parameters, ... ) replacement-list (3) (since C99) #define identifier( ... ) replacement-list (4) (since C99) #undef identifier (5) Explanation #define directives The #define directives define the identifier as a macro, that is they in

nearbyint

Defined in header <math.h> float nearbyintf( float arg ); (1) (since C99) double nearbyint( double arg ); (2) (since C99) long double nearbyintl( long double arg ); (3) (since C99) Defined in header <tgmath.h> #define nearbyint( arg ) (4) (since C99) 1-3) Rounds the floating-point argument arg to an integer value in floating-point format, using the current rounding mode. 4) Type-generic macro: If arg has type long double, nearbyin

lconv

Defined in header <locale.h> struct lconv; The struct lconv contains numeric and monetary formatting rules as defined by a C locale. Objects of this struct may be obtained with localeconv. The members of lconv are values of type char and of type char*. Each char* member except decimal_point may be pointing at a null character (that is, at an empty C-string). The members of type char are all non-negative numbers, any of which may be CHAR_MAX if the corresponding value is not

wcstok

Defined in header <wchar.h> (1) wchar_t* wcstok( wchar_t* str, const wchar_t* delim, wchar_t **ptr ); (since C95) (until C99) wchar_t *wcstok(wchar_t * restrict str, const wchar_t * restrict delim, wchar_t **restrict ptr); (since C99) wchar_t *wcstok_s( wchar_t *restrict str, rsize_t *restrict strmax, const wchar_t *restrict delim, wchar_t **restrict ptr); (2) (since C11) 1) Finds the next token in a null-terminated wide strin