ispunct

Defined in header <ctype.h> int ispunct( int ch ); Checks if the given character is a punctuation character in the current C locale. The default C locale classifies the characters !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ as punctuation. The behavior is undefined if the value of ch is not representable as unsigned char and is not equal to EOF. Parameters ch - character to classify Return value Non-zero value if the character is a punctuation character, zero o

atomic_is_lock_free

Defined in header <stdatomic.h> _Bool atomic_is_lock_free( const volatile A* obj ); (since C11) Determines if the atomic operations on all objects of the type A (the type of the object pointed to by obj) are lock-free. In any given program execution, the result of calling atomic_is_lock_free is the same for all pointers of the same type. 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

const type qualifier

Each individual type in the C type system has several qualified versions of that type, corresponding to one, two, or all three of the const, volatile, and, for pointers to object types, restrict qualifiers. This page describes the effects of the const qualifier. Objects declared with const-qualified types may be placed in read-only memory by the compiler, and if the address of a const object is never taken in a program, it may not be stored at all. const semantics apply to lvalue expressions on

File scope

If the declarator or type specifier that declares the identifier appears outside of any block or list of parameters, the identifier has file scope, which terminates at the end of the translation unit. So, placement of an identifier's declaration (in a declarator or type specifier) outside any block or list of parameters means that the identifier has file scope. File scope of an identifier extends from the declaration to the end of the translation unit in which the declaration appears. Example

tgamma

Defined in header <math.h> float tgammaf( float arg ); (1) (since C99) double tgamma( double arg ); (2) (since C99) long double tgammal( long double arg ); (3) (since C99) Defined in header <tgmath.h> #define tgamma( arg ) (4) (since C99) 1-3) Computes the gamma function of arg. 4) Type-generic macro: If arg has type long double, tgammal is called. Otherwise, if arg has integer type or the type double, tgamma is called. Otherwise,

atomic_signal_fence

Defined in header <stdatomic.h> void atomic_signal_fence( memory_order order ); (since C11) Establishes memory synchronization ordering of non-atomic and relaxed atomic accesses, as instructed by order, between a thread and a signal handler executed on the same thread. This is equivalent to std::atomic_thread_fence, except no CPU instructions for memory ordering are issued. Only reordering of the instructions by the compiler is suppressed as order instructs. For example, wr

memmove

Defined in header <string.h> void* memmove( void* dest, const void* src, size_t count ); (1) errno_t memmove_s(void *dest, rsize_t destsz, const void *src, rsize_t count); (2) (since C11) 1) Copies count characters from the object pointed to by src to the object pointed to by dest. Both objects are interpreted as arrays of unsigned char. The objects may overlap: copying takes place as if the characters were copied to a temporary character array and then the character

feraiseexcept

Defined in header <<fenv.h>> int feraiseexcept( int excepts ); (since C99) Attempts to raise all floating point exceptions listed in excepts (a bitwise OR of the floating point exception macros). If one of the exceptions is FE_OVERFLOW or FE_UNDERFLOW, this function may additionally raise FE_INEXACT. The order in which the exceptions are raised is unspecified, except that FE_OVERFLOW and FE_UNDERFLOW are always raised before FE_INEXACT. Parameters excepts - bi

islessgreater

Defined in header <math.h> #define islessgreater(x, y) /* implementation defined */ (since C99) Determines if the floating point number x is less than or greater than the floating-point number y, without setting floating-point exceptions. Parameters x - floating point value y - floating point value Return value Nonzero integral value if x < y || x > y, ​0​ otherwise. Notes The built-in operator< and operator> for floating-point numbers may

crealf

Defined in header <complex.h> float crealf( float complex z ); (1) (since C99) double creal( double complex z ); (2) (since C99) long double creall( long double complex z ); (3) (since C99) Defined in header <tgmath.h> #define creal( z ) (4) (since C99) 1-3) Returns the real part of z. 4) Type-generic macro: if z has type long double complex, long double imaginary, or long double, creall is called. If z has type float complex, flo