Ключевое слово static для переменных в файле - C (СИ)
Формулировка задачи:
Много где пишут, если в файле объявить переменную с классом памяти static, то такая переменная будет видна только в том файле где она объявлена. Но на практике так не происходит. Чего я не понимаю?
файл 1
файл 2(static.c)
В файле 1 выводится значение статичной переменной v.
#include <stdio.h>
#include "static.c"
int main()
{
printf("%d", v);
return 0;
}static int v = 54000;
Решение задачи: «Ключевое слово static для переменных в файле»
textual
Листинг программы
/*
Подставленое сюда все содержимое stdio.h
*/
static int v = 54000;
int main()
{
printf("%d", v);
return 0;
}
Объяснение кода листинга программы
- В начале подставляется содержимое stdio.h
- Объявляется переменная v типа int со значением 54000, и ей присваивается статический контекст
- Запускается функция main()
- Выводится значение переменной v с помощью функции printf()
- Возвращается 0, что означает успешный конец работы программы