Инициализация переменной происходит только при первом обращении к блоку (функции). Если Вы не проинициализируете переменную, то C++ сам обнулит ее при первом обращении.

Для описания статических переменных используется префикс static.

Автоматические переменные описываются со словом auto.

Пример 2

Пример 1

В программе можно использовать глобальные и локальные переменные.

Глобальные переменные видимы (доступны) от точки их определения до конца файла. Локальные переменные доступны только в том блоке, в котором они описаны (блок ограничивается фигурными скобками). После окончания выполнения команд блока локальные переменные данного блока очищаются.

Программа содержит два блока.

main() { int I=10; \\ начало блока 1 { \\начало блока 2 int I=20; cout<<"\n i="<< i; } \\конец блока 2 cout<<"\n i="<< i; return 0; } \\ конец блока 1

 

Программа содержит две локальные переменные i. Каждая переменная является локальной по отношению к тому блоку, в котором она определена. После окончания блока переменная очищается.

Поэтому в программе фактически две различные переменные. Результатом выполнения программы будут сообщения:

i=20i=10int a;main(){int I;return 0;}

 

a - глобальная переменная, она существует внутри блока main и существовала бы в других блоках, если бы они присутствовали в программе.

I - локальная переменная блока main.

 

Локальные переменные подразделяются на автоматические и статические.

Автоматические переменныеуничтожаются сразу после завершения того блока, в котором они описаны.

auto float с;

По умолчанию все переменные являются автоматическими, поэтому префикс auto можно не указывать.

Статические переменныесохраняют свое значение на случай, если блок (функция) когда-нибудь будет выполнен во второй раз.

Пример{static int i=l;…….}

 

1.5.2. Определение функции

Функция— это именованная последовательность описаний и операторов, выполняющая какое-либо законченное действие. Функция может принимать параметры и возвращать значение (результат).Любая функция должна быть объявлена и определена. Объявление функции (прототип, заголовок, сигнатура) задает имя функции, тип возвращаемого значения (результата) и список передаваемых параметров.Определение функциисодержит, кроме объявления, тело функции, представляющее собой последовательность операторов и описаний, записанных в фигурных скобках. Формат определения функции: ТипРезультата ИмяФункции (СписокПараметров) //заголовок функции{... // Тело функцииreturn Результат;}

Функция, написанная на C++, имеет следующие свойства:

· тип результата (возвращаемого функцией значения) может быть любым, кроме массива и функции; если функция не должна возвращать значение, указывается тип void;

· имя функции задается по правилам создания идентификаторов языка С++;

· за именем функции должна стоять пара круглых скобок; в них перечисляются параметры функции; круглые скобки помогают компилятору отличать функции от переменных; скобки могут ничего в себе не содержать (если у функции нет параметров);

· тело каждой функции, которое начинается сразу же после закрывающей круглой скобки за именем функции, должно быть заключено в фигурные скобки