_Alignof

Usage _Alignof operator

realloc

Defined in header <stdlib.h> void *realloc( void *ptr, size_t new_size ); Reallocates the given area of memory. It must be previously allocated by malloc(), calloc() or realloc() and not yet freed with free, otherwise, the results are undefined. The reallocation is done by either: a) expanding or contracting the existing area pointed to by ptr, if possible. The contents of the area remain unchanged up to the lesser of the new and old sizes. If the area is expanded, the con

fgets

Defined in header <stdio.h> char *fgets( char *str, int count, FILE *stream ); (until C99) char *fgets( char *restrict str, int count, FILE *restrict stream ); (since C99) Reads at most count - 1 characters from the given file stream and stores them in str. The produced character string is always null-terminated. Parsing stops if end-of-file occurs or a newline character is found, in which case str will contain that newline character. Parameters

union

Usage declaration of a union type

atomic_store

Defined in header <stdatomic.h> void atomic_store( volatile A* obj , C desired); (1) (since C11) void atomic_store_explicit( volatile A* obj, C desired, memory_order order ); (2) (since C11) Atomically replaces the value of the atomic variable pointed to by obj with desired. The operation is atomic write operation. The first version orders memory accesses according to memory_order_seq_cst, the second version orders memory accesses according to order. order must be one

C memory management library

Functions Defined in header <stdlib.h> malloc allocates memory (function) calloc allocates and zeroes memory (function) realloc expands previously allocated memory block (function) free deallocates previously allocated memory (function) aligned_alloc (C11) allocates aligned memory (function) References C11 standard (ISO/IEC 9899:2011): 7.22.3 Memory management functions (p: 347-349) C99 standard (ISO/IEC 9899:1999): 7.20.3 Memory management funct

log2

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

_Complex

Usage _Complex type: as the declaration of the type

setbuf

Defined in header <stdio.h> void setbuf( FILE *stream, char *buffer ); (until C99) void setbuf( FILE *restrict stream, char *restrict buffer ); (since C99) Sets the internal buffer to use for stream operations. It should be at least BUFSIZ characters long. If buffer is not null, equivalent to setvbuf(stream, buffer, _IOFBF, BUFSIZ). If buffer is null, equivalent to setvbuf(stream, NULL, _IONBF, 0), which turns off buffering. Parameters stream -

MATH_ERRNO

Defined in header <math.h> #define MATH_ERRNO 1 (since C99) #define MATH_ERREXCEPT 2 (since C99) #define math_errhandling /*implementation defined*/ (since C99) The macro constant math_errhandling expands to an expression of type int that is either equal to MATH_ERRNO, or equal to MATH_ERREXCEPT, or equal to their bitwise OR (MATH_ERRNO | MATH_ERREXCEPT). The value of math_errhandling indicates the type of error handling that is performed by the float