3. Объявление переменных, операции с ними.

ОТВЕТ

 

Все переменные до их использования должны быть определены (объявлены). При этом задается тип, а затем идет список из одной или более переменных этого типа, разделенных запятыми. Например:

 int a, b, c;
 char x, y;

В языке различают понятия объявления переменной и ее определения. Объявление устанавливает свойства объекта: его тип (например, целый), размер (например, 4 байта) и т.д. Определение наряду с этим вызывает выделение памяти (в приведенном примере дано определение переменных).

Переменные можно разделять по строкам произвольным образом, например:

 float a;
 float b;

Переменные в языке Си могут быть инициализированы при их определении:

 int a = 25, h = 6;
 char g = 'Q', k = 'm';
 float r = 1.89;
 long double n = r*123;

Выясним теперь, где в тексте программы определяются данные. В языке возможны глобальные и локальные объекты. Первые определяются вне функций и, следовательно, доступны для любой из них. Локальные объекты по отношению к функциям являются внутренними. Они начинают существовать, при входе в функцию и уничтожаются после выхода из нее. Ниже показана структура программы на Си и возможные места в программе, где определяются глобальные и локальные объекты.

int a; /* Определение глобальной переменной */

int function (int b, char c); /* Объявление функции (т.е. описание 
 ее заголовка)*/

void main (void)
{ //Тело программы
 int d, e; //Определение локальных переменных
 float f; //Определение локальной переменной
 ... 
}
int function (int b, char c) /* Определение функции и формальных 
 параметров (по существу - локальных 
 переменных) b и c */
{ //Тело функции
 char g; //Определение локальной переменной
 ...
}

Отметим, что выполнение программы всегда начинается с вызова функции main( ), которая содержит тело программы. Тело программы, как и тело любой другой функции, помещается между открывающей и закрывающей фигурными скобками.

В языке Си все определения должны следовать перед операторами, составляющими тело функции. В языке Си++ это ограничение снято и определения могут находиться в любом месте программы. Если они сделаны в функции, то соответствующие объекты будут локальными, а если вне функций, то глобальными.