else

Usage if statement: as the declaration of the alternative branch

Conditional inclusion

The preprocessor supports conditional compilation of parts of a source file. This behavior is controlled by #if, #else, #elif, #ifdef, #ifndef and #endif directives. Syntax #if expression #ifdef expression #ifndef expression #elif expression #else #endif Explanation The conditional preprocessing block starts with #if, #ifdef or #ifndef directive, then optionally includes any number of #elif directives, then optionally includes at most one #else direct

calloc

Defined in header <stdlib.h> void* calloc( size_t num, size_t size ); Allocates memory for an array of num objects of size size and initializes all bits in the allocated storage to zero. If allocation succeeds, returns a pointer to the lowest (first) byte in the allocated memory block that is suitably aligned for any object type. If size is zero, the behavior is implementation defined (null pointer may be returned, or some non-null pointer may be returned that may not be us

Memory model

Defines the semantics of computer memory storage for the purpose of the C abstract machine. The data storage (memory) available to a C program is one or more contiguous sequences of bytes. Each byte in memory has a unique address. Byte A byte is the smallest addressable unit of memory. It is defined as a contiguous sequence of bits, large enough to hold any member of the basic execution character set (the 96 characters that are required to be single-byte). C supports bytes of sizes 8 bits an

ftell

Defined in header <stdio.h> long ftell( FILE *stream ); Returns the file position indicator for the file stream stream. If the stream is open in binary mode, the value obtained by this function is the number of bytes from the beginning of the file. If the stream is open in text mode, the value returned by this function is unspecified and is only meaningful as the input to fseek(). Parameters stream - file stream to examine Return value File position indicator

atomic types

Syntax _Atomic ( type-name ) (1) (since C11) _Atomic type-name (2) (since C11) 1) Use as a type specifier; this designates a new atomic type 2) Use as a type qualifier; this designates the atomic version of type-name. In this role, it may be mixed with const, volatile, and restrict), although unlike other qualifiers, the atomic version of type-name may have a different size, alignment, and object representation. type-name - any type other than array or function. For (1),

Program support utilities

Program termination The following functions manage program termination and resource cleanup. Defined in header <stdlib.h> abort causes abnormal program termination (without cleaning up) (function) exit causes normal program termination with cleaning up (function) quick_exit (C11) causes normal program termination without completely cleaning up (function) _Exit (C99) causes normal program termination without cleaning up (function) atexit registers a functi

nearbyint

Defined in header <math.h> float nearbyintf( float arg ); (1) (since C99) double nearbyint( double arg ); (2) (since C99) long double nearbyintl( long double arg ); (3) (since C99) Defined in header <tgmath.h> #define nearbyint( arg ) (4) (since C99) 1-3) Rounds the floating-point argument arg to an integer value in floating-point format, using the current rounding mode. 4) Type-generic macro: If arg has type long double, nearbyin

lconv

Defined in header <locale.h> struct lconv; The struct lconv contains numeric and monetary formatting rules as defined by a C locale. Objects of this struct may be obtained with localeconv. The members of lconv are values of type char and of type char*. Each char* member except decimal_point may be pointing at a null character (that is, at an empty C-string). The members of type char are all non-negative numbers, any of which may be CHAR_MAX if the corresponding value is not

Common mathematical functions

Functions Defined in header <stdlib.h> abslabsllabs (C99) computes absolute value of an integral value (|x|) (function) divldivlldiv (C99) computes quotient and remainder of integer division (function) Defined in header <inttypes.h> imaxabs (C99) computes absolute value of an integral value (|x|) (function) imaxdiv (C99) computes quotient and remainder of integer division (function) Defined in header <math.h> Basic operations fa