floating constant

Allows values of floating type to be used directly in expressions. Syntax A floating constant is a non-lvalue expression having the form: significand exponent(optional) suffix(optional) Where the significand has the form. whole-number(optional) .(optional) fraction(optional) The exponent has the form. e | E exponent-sign(optional) digit-sequence (1) p | P exponent-sign(optional) digit-sequence (2) (since C99) 1) The exponent syntax for a decimal floating-point

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

asctime

Defined in header <time.h> char* asctime( const struct tm* time_ptr ); (1) errno_t asctime_s(char *buf, rsize_t bufsz, const struct tm *time_ptr); (2) (since C11) 1) Converts given calendar time tm to a textual representation of the following fixed 25-character form: Www Mmm dd hh:mm:ss yyyy\n Www - three-letter English abbreviated day of the week from time_ptr->tm_wday, one of Mon, Tue, Wed, Thu, Fri, Sat, Sun. Mmm - three-letter English abbreviated month name

div

Defined in header <stdlib.h> div_t div( int x, int y ); (1) ldiv_t ldiv( long x, long y ); (2) lldiv_t lldiv( long long x, long long y ); (3) (since C99) Defined in header <inttypes.h> imaxdiv_t imaxdiv( intmax_t x, intmax_t y ); (4) (since C99) Computes both the quotient and the remainder of the division of the numerator x by the denominator y. Computes quotient and remainder simultaneously. The quotient is the algebraic quotient wi

I

Defined in header <complex.h> #define I /* unspecified */ (since C99) The I macro expands to either _Complex_I or _Imaginary_I. If the implementation does not support imaginary types, then the macro always expands to _Complex_I. A program may undefine and perhaps then redefine the macro I. Notes The macro is not named i, which is the name of the imaginary unit in mathematics, because the name i was already used in many C programs, e.g. as a loop counter variable. The mac

atan2

Defined in header <math.h> float atan2f( float y, float x ); (1) (since C99) double atan2( double y, double x ); (2) long double atan2l( long double y, long double x ); (3) (since C99) Defined in header <tgmath.h> #define atan2( arg ) (4) (since C99) 1-3) Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant. 4) Type-generic macro: If the argument has type long double, atan2l is called. Oth

Implicit conversions

When an expression is used in the context where a value of a different type is expected, conversion may occur: int n = 1L; // expression 1L has type long, int is expected n = 2.1; // expression 2.1 has type double, int is expected char *p = malloc(10); // expression malloc(10) has type void*, char* is expected Conversions take place in the following situations: Conversion as if by assignment In the assignment operator, the value of the right-hand operand is converted to the unqualified type

wcstombs

Defined in header <stdlib.h> (1) size_t wcstombs( char *dst, const wchar_t *src, size_t len ); (until C99) size_t wcstombs( char *restrict dst, const wchar_t *restrict src, size_t len ); (since C99) errno_t wcstombs_s( size_t *restrict retval, char *restrict dst, rsize_t dstsz, const wchar_t *restrict src, rsize_t len ); (2) (since C11) 1) Converts a sequence of wide characters from the array whose first element is pointed

wcstof

Defined in header <wchar.h> float wcstof( const wchar_t* str, wchar_t** str_end ); (since C99) double wcstod( const wchar_t* str, wchar_t** str_end ); (since C95) long double wcstold( const wchar_t* str, wchar_t** str_end ); (since C99) Interprets a floating point value in a wide string pointed to by str. Function discards any whitespace characters (as determined by std::isspace()) until first non-whitespace character is found. Then it takes as many c

wcscmp

Defined in header <wchar.h> int wcscmp( const wchar_t *lhs, const wchar_t *rhs ); (since C95) Compares two null-terminated wide strings lexicographically. The sign of the result is the sign of the difference between the values of the first pair of wide characters that differ in the strings being compared. The behavior is undefined if lhs or rhs are not pointers to null-terminated wide strings. Parameters lhs, rhs - pointers to the null-terminated wide strings to com