rig писал(а):если переменная объявляется выше главной функции то она по умолчанию глобальная
НЕ ПРАВИЛЬНО !!! правильно там
rig писал(а): не очень понятное
"The volatile modifier must be used in order to prevent a variable to be allocated to registers and to warn the compiler that it may be subject to outside change during evaluation"
Разъяснено там -