ldexp

Defined in header <math.h> float ldexpf( float arg, int exp ); (1) (since C99) double ldexp( double arg, int exp ); (2) long double ldexpl( long double arg, int exp ); (3) (since C99) Defined in header <tgmath.h> #define ldexp( arg, exp ) (4) (since C99) 1-3) Multiplies a floating point value arg by the number 2 raised to the exp power. 4) Type-generic macro: If arg has type long double, ldexpl is called. Otherwise, if arg has int

set_constraint_handler_s

Defined in header <stdlib.h> constraint_handler_t set_constraint_handler_s( constraint_handler_t handler ); (since C11) Configures the handler to be called by all bounds-checked functions on a runtime constraint violation or restores the default handler (if handler is a null pointer). The handler must be a pointer to function of type constraint_handler_t, which is defined as. Defined in header <stdlib.h> typedef void (*constraint_handler_t)( const char *restri

integer constant

Allows values of integer type to be used in expressions directly. Syntax An integer constant is a non-lvalue expression of the form. decimal-constant integer-suffix(optional) (1) octal-constant integer-suffix(optional) (2) hex-constant integer-suffix(optional) (3) where. decimal-constant is a non-zero decimal digit (1, 2, 3, 4, 5, 6, 7, 8, 9), followed by zero or more decimal digits (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) octal-constant is the digit zero (0) followed by zero or

File input/output

The <stdio.h> header provides generic file operation support and supplies functions with narrow character input/output capabilities. The <wchar.h> header supplies functions with wide character input/output capabilities. I/O streams are objects of type FILE that can only be accessed and manipulated through pointers of type FILE* (Note: while it may be possible to create a local object of type FILE by dereferencing and copying a valid FILE*, using the address of such copy in the I/O f

Logical operators

Logical operators apply standard boolean algebra operations to their operands. Operator Operator name Example Result ! logical NOT !a the logical negation of a && logical AND a && b the logical AND of a and b || logical OR a || b the logical OR of a and b Logical NOT The logical NOT expression has the form. ! expression where. expression - an expression of any scalar type The logical NOT operator has type int. Its value is ​0​

signed

Usage signed type modifier

for loop

Executes a loop. Used as a shorter equivalent of while loop. Syntax for ( init_clause ; cond_expression ; iteration_expression ) loop_statement Explanation Behaves as follows: init_clause may be an expression or a declaration If it is an expression, it is evaluated once, before the first evaluation of cond_expression and its result is discarded. (C99) If it is a declaration, it is in scope in the entire loop body, including the remainder of init_clause, the entire cond_express

atomic_init

Defined in header <stdatomic.h> void atomic_init( volatile A* obj, C desired ); (since C11) Initializes the default-constructed atomic object object with the value desired. The function is not atomic: concurrent access from another thread, even through an atomic operation, is a data race. This is a generic function defined for all atomic object types A. The argument is pointer to a volatile atomic type to accept addresses of both non-volatile and volatile (e.g. memory-mappe

iswlower

Defined in header <wctype.h> int iswlower( wint_t ch ); (since C95) Checks if the given wide character is a lowercase letter, i.e. one of abcdefghijklmnopqrstuvwxyz or any lowercase letter specific to the current locale. Parameters ch - wide character Return value Non-zero value if the wide character is an lowercase letter, zero otherwise. Example #include <stdio.h> #include <wchar.h> #include <wctype.h> #include <locale.h> int m

Assignment operators

Assignment and compound assignment operators are binary operators that modify the variable to their left using the value to their right. Operator Operator name Example Description Equivalent of = basic assignment a = b a becomes equal to b N/A += addition assignment a += b a becomes equal to the addition of a and b a = a + b -= subtraction assignment a -= b a becomes equal to the subtraction of b from a a = a - b *= multiplication assignment a *= b