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( ), которая содержит тело программы. Тело программы, как и тело любой другой функции, помещается между открывающей и закрывающей фигурными скобками.
В языке Си все определения должны следовать перед операторами, составляющими тело функции. В языке Си++ это ограничение снято и определения могут находиться в любом месте программы. Если они сделаны в функции, то соответствующие объекты будут локальными, а если вне функций, то глобальными.