ATOMIC_INIT(3) Library Functions Manual ATOMIC_INIT(3)

atomic_initinitialize an atomic object

#include <stdatomic.h>

void atomic_init(volatile A *obj, C value);

The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2024 defers to the ISO C standard.

Implementations that define the macro __STDC_NO_ATOMICS__ need not provide the <stdatomic.h> header nor support these generic functions.

The atomic_init () generic function shall initialize the atomic object pointed to by to the value , while also initializing any additional state that the implementation might need to carry for the atomic object.

Although this function initializes an atomic object, it does not avoid data races; concurrent access to the variable being initialized, even via an atomic operation, constitutes a data race.

The atomic_init () generic function shall not return a value.

No errors are defined.

atomic_int guide;
atomic_init(&guide, 42);

None.

None.

None.

XBD <stdatomic.h>

First released in Issue 8. Included for alignment with the ISO/IEC 9899:2018 standard.

June 14, 2024 posix.fail