I understand that the following declaration creates an array of values, each of which is atomic:
_Atomic int x[10];
However, I\'m unclear on wh
It's pointer to atomic integer, see http://en.cppreference.com/w/c/language/atomic .
To declare atomic pointer to an integer, you would need to put the keyword right before the variable:
int * _Atomic x;
Note that the example with calloc may work on common platforms but generally there is no warranty that the types of non-atomic and atomic variables are the same. So it's necessary to initialize the variables with atomic_init:
x = calloc(10, sizeof(_Atomic int));
for (...) atomic_init(&x[i], 0);