longjmp

Defined in header <setjmp.h> void longjmp( jmp_buf env, int status ); (until C11) _Noreturn void longjmp( jmp_buf env, int status ); (since C11) Loads the execution context env saved by a previous call to setjmp. This function does not return. Control is transferred to the call site of the macro setjmp that set up env. That setjmp then returns the value, passed as the status. If the function that called setjmp has exited (whether by return or by a different longjmp hi

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

Alternative operator representations

C source code may be written in any non-ASCII 7-bit character set that includes the ISO 646:1983 invariant character set. However, several C operators and punctuators require characters that are outside of the ISO 646 codeset: {, }, [, ], #, \, ^, |, ~. To be able to use character encodings where some or all of these symbols do not exist (such as the German DIN 66003), there are two possibilities: alternative spellings of operators that use these characters or special combinations of two or thr

Struct and union initialization

When initializing an object of struct or union type, the initializer must be a non-empty, brace-enclosed, comma-separated list of initializers for the members: = { designator(optional) expression , ... } where the designator is a sequence (whitespace-separated or adjacent) of individual member designators of the form . member and array designators of the form [ index ]. All members that are not initialized explicitly are initialized implicitly the same way as objects that have static

wcsncpy

Defined in header <wchar.h> (1) wchar_t* wcsncpy( wchar_t* dest, const wchar_t* src, size_t count ); (since C95) (until C99) wchar_t *wcsncpy(wchar_t *restrict dest, const wchar_t *restrict src, size_t n); (since C99) errno_t wcsncpy_s( wchar_t *restrict dest, rsize_t destsz, const wchar_t *restrict src, rsize_t n); (2) (since C11) 1) Copies at most count characters of the wide string pointed to by src (including the terminating null wide cha

sin

Defined in header <math.h> float sinf( float arg ); (1) (since C99) double sin( double arg ); (2) long double sinl( long double arg ); (3) (since C99) Defined in header <tgmath.h> #define sin( arg ) (4) (since C99) 1-3) Computes the sine of arg (measured in radians). 4) Type-generic macro: If the argument has type long double, sinl is called. Otherwise, if the argument has integer type or the type double, sin is called. Otherwise,

thrd_create

Defined in header <threads.h> int thrd_create( thrd_t *thr, thrd_start_t func, void *arg ); (since C11) Creates a new thread executing the function func. The function is invoked as func(arg). If successful, the object pointed to by thr is set to the identifier of the new thread. The completion of this function synchronizes-with the beginning of the thread. Parameters thr - pointer to memory location to put the identifier of the new thread func - function to ex

vwprintf

Defined in header <wchar.h> int vwprintf( const wchar_t* format, va_list vlist ); (1) (since C95) int vfwprintf( FILE* stream, const wchar_t* format, va_list vlist ); (2) (since C95) int vswprintf( const wchar_t* buffer, size_t bufsz, const wchar_t* format, va_list vlist ); (3) (since C95) int vwprintf_s( const wchar_t * restrict format, va_list vlist); (4) (since C11) int vfwprintf_s( FILE * restrict stream, const wchar_t *r

acosh

Defined in header <math.h> float acoshf( float arg ); (1) (since C99) double acosh( double arg ); (2) (since C99) long double acoshl( long double arg ); (3) (since C99) Defined in header <tgmath.h> #define acosh( arg ) (4) (since C99) 1-3) Computes the inverse hyperbolic cosine of arg. 4) Type-generic macro: If the argument has type long double, acoshl is called. Otherwise, if the argument has integer type or the type double, acos

TSS_DTOR_ITERATIONS

Defined in header <threads.h> #define TSS_DTOR_ITERATIONS /* unspecified */ (since C11) Expands to a positive integral constant expression defining the maximum number of times a destructor for thread-local storage pointer will be called by thrd_exit. This constant is equivalent to the POSIX PTHREAD_DESTRUCTOR_ITERATIONS. References C11 standard (ISO/IEC 9899:2011): 7.26.1/3 TSS_DTOR_ITERATIONS (p: 376)