Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Тема. Типы переменных ПЛАН [0

Работа добавлена на сайт samzan.net:


Тема. Типы переменных

ПЛАН

[0.1] Объявление переменных

[0.1.1] Локальные переменные

[0.1.2] Формальные параметры

[0.1.3] Глобальные переменные

Объявление переменных

Как уже знаем общий формат инструкции объявления переменных выглядит так:

тип список_первменяых;

Здесь элемент тип означает допустимый в C++ тип данных, а элемент список_переменных может состоять из одного или нескольких имен (идентификаторов), разделенных запятыми. Вот несколько примеров объявлений переменных.

int i, j, k;

char ch, chr;

float f, balance;

double d;

В C++ имя переменной никак не связано с ее типом.

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

Как уже видели, тип void используется для объявления функции, которая не возвращает значения. Другие возможности использования типа void рассматриваются позже.

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

Локальные переменные

Переменные, которые объявляются внутри функции, называются локальными. Их могут использовать только инструкции, относящиеся к телу функции. Локальные переменные неизвестны внешним функциям.

Рассмотрим пример.

#include <iostream>

using namespace std;

void func();

---------------------------------------------------------

int main()

{

int x; // Локальная переменная для функции main()

х = 10;

func();

cout << \n";

coufc << x; // Выводится число 10

return 0;

}

----------------------------------------------------------

void func()

{

int x; // Локальная переменная для функции func()

х = -199;

cout  << x;   //  Выводится  число  -199

}

Локальная переменная известна только функции, в которой она определена.

В этой программе целочисленная переменная с именем х объявлена дважды; сначала в функции main (), а затем в функции func (). Но переменная х из функции main() не имеет никакого отношения к переменной х из функции func (). Другими словами, изменения, которым подвергается переменная х из функции func(), никак не отражаются на переменной х из функции main(). Поэтому приведенная выше программа выведет на экран числа -199 и 10.

В C++ локальные переменные создаются при вызове функции и разрушаются при выходе из нее. То же самое можно сказать и о памяти, выделяемой для локальных переменных: при вызове функции в нее записываются соответствующие значения, а при выходе из функции память освобождается. Это означает, что локальные переменные не поддерживают своих значений между вызовами функций. (Другими словами, значение локальной переменной теряется при каждом возврате из функции.)

В некоторых литературных источниках, посвященных C++, локальная переменная называется динамической или автоматической переменной. Но в этой книге мы будем придерживаться более распространенного термина локальная переменная.

Формальные параметры

Формальный параметр — это локальная переменная, которая получает значение аргумента, переданного функции*

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

int   fund (int  first,   int  last,   char ch)

{

.

.

.

}

Здесь функция fund() имеет три параметра с именами first, last и ch. С помощью такого объявления сообщаем компилятору тип каждой из переменных, которые будут принимать значения, передаваемые функции. Несмотря на то что формальные параметры выполняют специальную задачу получения значений аргументов, передаваемых функции, их можно также использовать в теле функции как обычные локальные переменные. Например, можем присвоить им любые значения или использовать в каких-нибудь (допустимых для C++) выражениях. Но, подобно любым другим локальным переменным, их значения теряются по завершении функции.

Глобальные переменные

Глобальные переменные известны всей программе.

Чтобы придать переменной "всепрограммную” известность, ее необходимо сделать глобальной. В отличие от локальных, глобальные переменные хранят свои значения на протяжении всего времени жизни (времени существования) программы. Чтобы создать глобальную переменную, ее необходимо объявить вне всех функций. Доступ к глобальной переменной можно получить из любой функции.

В следующей программе переменная count объявляется вне всех функций. Ее объявление предшествует функции main(). Но ее с таким же успехом можно разместить в другом месте, главное, чтобы она не принадлежала какой-нибудь функции. Помните: поскольку переменную необходимо объявить до ее использования, глобальные переменные лучше всего объявлять в начале программы.

#include <iostream>

using namespace std;

void func1() ;

void func2();

int count; // Это глобальная переменная

------------------------------------------------------------

int main()

{

int i; // Это локальная переменная.

for(i=0; i<10; i++)

{

count = i * 2;

funcl();

}

return 0;

}

------------------------------------------------------------

void func1()

{

cout << "count: " << count; // Обращение к глобальной переменной

cout << “\n”; // Вывод символа новой строки.

func2();

}

----------------------------------------------------------

void func2() {

int count; // Это локальная переменная.

for(count=0; count<3; count++} cout << ' ';

}

Несмотря на то что переменная count не объявляется ми в функции main(), ни в функции func1(), обе они могут ее использовать. Но в функции func2() объявляется локальная переменная count. Здесь при обращении к переменной count выполняется доступ к локальной, а не к глобальной переменной. Важно помнить, что, если глобальная и локальная переменные имеют одинаковые имена, все ссылки на “спорное" имя переменной внутри функции, в которой определена локальная переменная, относятся к локальной, а не к глобальной переменной.

PAGE  1




1. Структура научного познания
2.  Сущность финансов и их функции Финансы один из базовых элементов экономич отнош предметн областью кото
3. Оценка состояния популяции диких гусей Верхнего Приамурья
4. Причины и условия возникновения государства и права 2
5. Кооперативная концепция М.И. ТуганБарановского (18651919)
6. Новорічний карнавал Сьогодні весело у нас ми Новий рік стрічаєм І всіх хто в залі.
7. реферат дисертації на здобуття наукового ступеня кандидата медичних наук Київ ~ Дисертацією є р
8. Антреприза Дягилева
9. Реферат- Проектные технологии обучения информатике- когнитивный анализ результатов опроса учителей
10. Введение Понятие банковского маркетинга Маркетинг банковских услуг Маркетинговая политика- пла
11. в мушкиrdquo; платье и поедет на свой первый бал
12.  Анализ инновационной политики и ее роли в конкурентной борьбе Появление нового или обновленного товара
13. варианта В обработку поступили две партии досок для изготовления комплектов из трех деталей треугольные
14. Лингвокультурологический аспект фразеологизмов как объекта перевода
15. отстаивание; фильтрация; центрифугирование; термическое воздействие; электрическое воздействие; внутри
16. Население является главным участником всех мировых процессов
17. Контрольная работа- Некоторые вопросы аренды и уплаты акцизного сбора на территории Республики Беларусь
18. Лекция 5 Статистическое кодирование дискретных сообщений
19. Строение животной клетки химический стакан перекись водорода 3 Н2О2 клубень картофеля нож
20. Показатели уровня жизни населения