The atomic qualifier (C11)

The _Atomic qualifier designates an atomic type. The type modified by the _Atomic qualifier cannot be an array type or a function type.

The properties associated with qualified types are meaningful only for expressions that are lvalues.

If you modify a type with the _Atomic qualifier and other qualifiers, the resulting type is the so-qualified atomic type. For example, the following statement declares a pointer to a volatile-qualified atomic type:
_Atomic volatile int *p;