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

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

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

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_

abort

Defined in header <stdlib.h> void abort(); Causes abnormal program termination unless SIGABRT is being caught by a signal handler passed to signal and the handler does not return. Functions passed to atexit() are not called. Whether open resources such as files are closed is implementation defined. Implementation defined status is returned to the host environment that indicates unsuccessful execution. Parameters (none). Return value (none). Example #include <s

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

#pragma directive

Implementation defined behavior is controlled by #pragma directive. Syntax #pragma pragma_params (1) _Pragma ( string-literal ) (2) (since C99) 1) Behaves in an implementation-defined manner (unless pragma_params is one of the standard pragmas shown below. 2) Removes the encoding prefix (if any), the outer quotes, and leading/trailing whitespace from string-literal, replaces each \" with " and each \\ with \, then tokenizes the result (as in translation stage 3), and then use

#define directive

The preprocessor supports text macro replacement and function-like text macro replacement. Syntax #define identifier replacement-list(optional) (1) #define identifier( parameters ) replacement-list (2) #define identifier( parameters, ... ) replacement-list (3) (since C99) #define identifier( ... ) replacement-list (4) (since C99) #undef identifier (5) Explanation #define directives The #define directives define the identifier as a macro, that is they in

#error directive

Shows the given error message and renders the program ill-formed. Syntax #error error_message Explanation After encountering the #error directive, an implementation displays the diagnostic message error_message and renders the program ill-formed (the compilation stops). error_message can consist of several words not necessarily in quotes. References C11 standard (ISO/IEC 9899:2011): 6.10.5 Error directive (p: 174) C99 standard (ISO/IEC 9899:1999): 6.10.5 Error directive (p