mtx_init

Defined in header <threads.h> int mtx_init( mtx_t* mutex, int type ); (since C11) Creates a new mutex object with type. The object pointed to by mutex is set to an identifier of the newly created mutex. type must have one of the following values: mtx_plain - a simple, non-recursive mutex is created. mtx_timed - a non-recursive mutex, that supports timeout, is created. mtx_plain | mtx_recursive - a recursive mutex is created. mtx_timed | mtx_recursive - a recursive mu

mtx_timedlock

Defined in header <threads.h> int mtx_timedlock( mtx_t *restrict mutex, const struct timespec *restrict time_point ); (since C11) Blocks the current thread until the mutex pointed to by mutex is locked or until the TIME_UTC based time point pointed to by time_point has been reached. The behavior is undefined if the current thread has already locked the mutex and the mutex is not recursive. The behavior is undefined if the mutex does not support timeout. P

modf

Defined in header <math.h> float modff( float arg, float* iptr ); (1) (since C99) double modf( double arg, double* iptr ); (2) long double modfl( long double arg, long double* iptr ); (3) (since C99) 1-3) Decomposes given floating point value arg into integral and fractional parts, each having the same type and sign as arg. The integral part (in floating-point format) is stored in the object pointed to by iptr. Parameters arg - floating point

memory_order

Defined in header <stdatomic.h> enum memory_order { memory_order_relaxed, memory_order_consume, memory_order_acquire, memory_order_release, memory_order_acq_rel, memory_order_seq_cst }; (since C11) memory_order specifies how regular, non-atomic memory accesses are to be ordered around an atomic operation. Absent any constraints on a multi-core system, when multiple threads simultaneously read and write to several variables, one thread can observe the

mktime

Defined in header <time.h> time_t mktime( struct tm *time ); Renormalizes local calendar time expressed as a struct tm object and also converts it to time since epoch as a time_t object. time->tm_wday and time->tm_yday are ignored. The values in time are not checked for being out of range. A negative value of time->tm_isdst causes mktime to attempt to determine if Daylight Saving Time was in effect in the specified time. If the conversion to time_t is successful, t

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

memset

Defined in header <string.h> void *memset( void *dest, int ch, size_t count ); (1) errno_t memset_s( void *dest, rsize_t destsz, int ch, rsize_t count ) (2) (since C11) 1) Copies the value ch (after conversion to unsigned char as if by (unsigned char)ch) into each of the first count characters of the object pointed to by dest. The behavior is undefined if access occurs beyond the end of the dest array. The behavior is undefined if dest is a null pointer. 2) Same a

memcmp

Defined in header <string.h> int memcmp( const void* lhs, const void* rhs, size_t count ); Compares the first count characters of the objects pointed to by lhs and rhs. The comparison is done lexicographically. The sign of the result is the sign of the difference between the values of the first pair of bytes (both interpreted as unsigned char) that differ in the objects being compared. The behavior is undefined if access occurs beyond the end of either object pointed to by

memchr

Defined in header <string.h> void* memchr( const void* ptr, int ch, size_t count ); Finds the first occurrence of ch (after conversion to unsigned char as if by (unsigned char)ch) in the initial count characters (each interpreted as unsigned char) of the object pointed to by ptr. The behavior is undefined if access occurs beyond the end of the array searched. The behavior is undefined if ptr is a null pointer. Parameters ptr - pointer to the object to be examined

Member access operators

Member access operators allow access to the members of their operands. Operator Operator name Example Description [] array subscript a[b] access the bth element of array a * pointer dereference *a dereference the pointer a to access the object or function it refers to & address of &a create a pointer that refers to the object or function a . member access a.b access member b of struct or union a -> member access through pointer a->b a