Не изменяется static переменная - C (СИ)
Формулировка задачи:
...довольно странная проблема. в 2-х файлах инклудится один заголовочный файл, в нем объявлена переменная static int testvar = 1;
но когда я меняю значение в одном файле ( testvar = 111; ) в его функции, переменная почему-то не меняется в функции в файле втором, то есть остается там с изначальным значением. просьба помочь разобраться...
Решение задачи: «Не изменяется static переменная»
textual
Листинг программы
extern int testvar;
Объяснение кода листинга программы
- В начале кода объявляется переменная
testvarтипа int с модификаторомextern. Это означает, что переменная будет доступна для использования в любом месте программы, а ее значение будет общим для всех функций и блоков кода, которые ее используют. - После объявления переменной, ей присваивается значение. Так как в данном случае присваивание отсутствует, то значение переменной
testvarостается неопределенным. - В коде не происходит никаких действий с переменной
testvar, поэтому она остается статической (неизменной). Таким образом, в данном коде просто объявляется и не используется переменнаяtestvarтипа int.