abort_handler_s

Defined in header <stdlib.h> void abort_handler_s( const char * restrict msg, void * restrict ptr, errno_t error ); (since C11) Writes an implementation-defined message to stderr which must include the string pointed to by msg and calls abort(). A pointer to this function can be passed to set_constraint_handler_s to establish a runtime constraints violation handler. As with all bounds-checked functions, abort_

abs

Defined in header <stdlib.h> int abs( int n ); long labs( long n ); long long llabs( long long n ); (since C99) Defined in header <inttypes.h> intmax_t imaxabs( intmax_t n ); (since C99) Computes the absolute value of an integer number. The behavior is undefined if the result cannot be represented by the return type. Parameters n - integer value Return value The absolute value of n (i.e. |n|), if it is representable.

acos

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

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

Algorithms

Defined in header <stdlib.h> qsortqsort_s (C11) sorts a range of elements with unspecified type (function) bsearchbsearch_s (C11) searches an array for an element of unspecified type (function) References C11 standard (ISO/IEC 9899:2011): 7.22.5 Searching and sorting utilities (p: 354-356) K.3.6.3 Searching and sorting utilities (p: 607-609) C99 standard (ISO/IEC 9899:1999): 7.20.5 Searching and sorting utilities (p: 318-319) C89/C90 standard (ISO/IEC 9899:

alignas

Appears in the declaration syntax as one of the type specifiers to modify the alignment requirement of the object being declared. Syntax _Alignas ( expression ) (1) (since C11) _Alignas ( type ) (2) (since C11) expression - any integer constant expression whose value is a valid alignment or zero type - any type name This keyword is also available as convenience macro alignas, available in the header <stdalign.h>. Explanation The alignas specifier can only

aligned_alloc

Defined in header <stdlib.h> void *aligned_alloc( size_t alignment, size_t size ); (since C11) Allocate size bytes of uninitialized storage whose alignment is specified by alignment. The size parameter must be an integral multiple of alignment. aligned_alloc is thread-safe: it behaves as though only accessing the memory locations visible through its argument, and not any static storage. A previous call to free or realloc that deallocates a region of memory synchronizes-with

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

Analyzability

This optional extension to the C language limits the potential results of executing some forms of undefined behavior, which improves the effectiveness of static analysis of such programs. Analyzability is only guaranteed to be enabled if the predefined macro constant __STDC_ANALYZABLE__(C11) is defined by the compiler. If the compiler supports analyzability, any language or library construct whose behavior is undefined is further classified between critical and bounded undefined behavior, and t

Arithmetic operators

Arithmetic operators apply standard mathematical operations to their operands. Operator Operator name Example Result + unary plus +a the value of a after promotions - unary minus -a the negative of a + addition a + b the addition of a and b - subtraction a - b the subtraction of b from a * product a * b the product of a and b / division a / b the division of a by b % modulo a % b the remainder of a divided by b ~ bitwise NOT ~