Declaration | Means | volatile int *s1; | declare s1 as pointer to volatile int |
int* volatile s2; | declare s2 as volatile pointer to int |
volatile int* volatile s3; | declare s3 as volatile pointer to volatile int |
const volatile int * volatile s4; | declare s4 as volatile pointer to const volatile int |
volatile int * (*f)(volatile int *); | declare f as pointer to function (pointer to volatile int) returning pointer to volatile int |