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

atan2

Defined in header <math.h> float atan2f( float y, float x ); (1) (since C99) double atan2( double y, double x ); (2) long double atan2l( long double y, long double x ); (3) (since C99) Defined in header <tgmath.h> #define atan2( arg ) (4) (since C99) 1-3) Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant. 4) Type-generic macro: If the argument has type long double, atan2l is called. Oth

Implicit conversions

When an expression is used in the context where a value of a different type is expected, conversion may occur: int n = 1L; // expression 1L has type long, int is expected n = 2.1; // expression 2.1 has type double, int is expected char *p = malloc(10); // expression malloc(10) has type void*, char* is expected Conversions take place in the following situations: Conversion as if by assignment In the assignment operator, the value of the right-hand operand is converted to the unqualified type

remainder

Defined in header <math.h> float remainderf( float x, float y ); (1) (since C99) double remainder( double x, double y ); (2) (since C99) long double remainderl( long double x, long double y ); (3) (since C99) Defined in header <tgmath.h> #define remainder( x, y ) (4) (since C99) 1-3) Computes the IEEE remainder of the floating point division operation x/y. 4) Type-generic macro: If any argument has type long double, remainderl is

malloc

Defined in header <stdlib.h> void* malloc( size_t size ); Allocates size bytes of uninitialized storage. If allocation succeeds, returns a pointer to the lowest (first) byte in the allocated memory block that is suitably aligned for any object type. If size is zero, the behavior is implementation defined (null pointer may be returned, or some non-null pointer may be returned that may not be used to access storage). malloc is thread-safe: it behaves as though only accessing

expm1

Defined in header <math.h> float expm1f( float arg ); (1) (since C99) double expm1( double arg ); (2) (since C99) long double expm1l( long double arg ); (3) (since C99) Defined in header <tgmath.h> #define expm1( arg ) (4) (since C99) 1-3) Computes the e (Euler's number, 2.7182818) raised to the given power arg, minus 1.0. This function is more accurate than the expression std::exp(arg)-1.0 if arg is close to zero. 4) Type-generic

register

Usage automatic duration storage-class specifier with no linkage. Hints that the variable will be used heavily.

rand

Defined in header <stdlib.h> int rand(); Returns a pseudo-random integral value between ​0​ and RAND_MAX (0 and RAND_MAX included). srand() seeds the pseudo-random number generator used by rand(). If rand() is used before any calls to srand(), rand() behaves as if it was seeded with srand(1). Each time rand() is seeded with srand(), it must produce the same sequence of values. rand() is not guaranteed to be thread-safe. Parameters (none). Return value Pseudo-random in

log10

Defined in header <math.h> float log10f( float arg ); (1) (since C99) double log10( double arg ); (2) long double log10l( long double arg ); (3) (since C99) Defined in header <tgmath.h> #define log10( arg ) (4) (since C99) 1-3) Computes the common (base-10) logarithm of arg. 4) Type-generic macro: If arg has type long double, log10l is called. Otherwise, if arg has integer type or the type double, log10 is called. Otherwise, log10

Atomic operations library

If the macro constant __STDC_NO_ATOMICS__(C11) is defined by the compiler, the header <stdatomic.h>, the keyword _Atomic, and all of the names listed here are not provided. Types Defined in header <stdatomic.h> memory_order (C11) defines memory ordering constraints (enum) atomic_flag (C11) lock-free atomic boolean flag (struct) Macros Defined in header <stdatomic.h> ATOMIC_BOOL_LOCK_FREEATOMIC_CHAR_LOCK_FREEATOMIC_CHAR16_T_LOCK_FREEATOMIC_CHAR32_