1) Ключевое слово volatile говорит компилятору что значение переменной может меняться извне и это следует учитывать компилятору при оптимизации.
2) При объявлении переменной ключевое слово volatile может стоять до типа данных или после.
#include <stdio.h> // prinf()
int main(){
volatile int a = 10;
int volatile b = 10;
return 0;
}