Глобальные переменныеИнициализация
Программа в целом представляет собой просто набор функций с обязательной функцией main, имеющих каждая собственный набор локальных переменных. Но кроме этого в ее состав включаются еще переменные, доступные сразу нескольким функциям. Такие переменные называются ГЛОБАЛЬНЫМИ ПЕРЕМЕННЫМИ (в Си ВНЕШНИМИ ПЕРЕМЕННЫМИ). Будучи определенными в любом месте программы вне тела функции, они становятся доступными любой функции, следующей за ней по тексту программы:
int B[10]; // B
int sum() // B
{ ...B[i]... } // B
int n; // B,n
void nf() // B,n
{...B[i]...n...} // B,n
char c[80]; // B,n,c
void main() // B,n,c
{...B[i]...n...c[k]...} // B,n,c
Глобальные (внешние) переменные являются наиболее " стабильными " данными в программе. Транслятор переводит их во внутреннее представление, в котором им соответствуют определенные адреса выделенной памяти. Можно сказать, что эти переменные находятся в программе (программном файле) еще до загрузки ее в память. Поэтому их можно инициализировать.
Инициализация включается в синтаксис определения переменной:
int a=5, B[10]= {1,5,4,2}, C[]={ 0,1,2,3,4,5 };
Инициализатор отделяется от переменной в ее определении знаком "=". Для простой переменной -это обычная константа, для массива -список констант, заключенных в фигурные скобки и разделенных запятыми. Заметим, что размерность массива может отсутствовать, если транслятор в состоянии определить ее из инициализирующего списка.