русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-01-08; просмотров: 1238; Нарушение авторских прав


Сначала нужно определиться с понятием объявления как одним из основополагающих в языке C++. Объявление вводит одно или более имен в программу. Частным случаем объявления является определение. Разница между ними будет рассмотрена позже.

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

[<спецификатор класса памяти>] [const] <спецификатор типа>

<идентификатор> [= <начальное значение>]

[, <идентификатор> [= <начальное значение>]] ...;

 

Здесь угловые скобки <> означают, что вместо них должно быть подставлено реальное значение, квадратные скобки [] – что заключённое в них выражение необязательно и может быть опущено.

В приведённом объявлении необязательный спецификатор класса памяти может принимать значения auto, register, static, extern и указывает как будет храниться переменная в памяти.

const означает объявление константы, т.е. разновидности переменной, значение которой не может быть изменено в ходе работы программы.

Спецификатор типа описывает тип, который будет иметь объявляемая переменная.

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

Символ «;» является в C++ разделителем операторов и показывает что текущий оператор – объявление переменной – заканчивается.

Например:

int var; // Переменная var типа int

 

float floatVar = 2.4; // Переменная floatVar типа float с начальным

// значением 2.4



 

char c1 = 20, c2, c3 = 'c'; // Три переменных типа char. c1 имеет начальное

// значение 20, с3 – символ 'c' (99 в десятичном

// представлении)

 

const unsigned short C = 60123; // Константа C типа short без знака

 

В последнем случае, т.е. при объявлении константы, присвоение начального значения обязательно и в дальнейшем в программе значение константы изменяться не может.

В приведённом примере переменные var и c2 не были проинициализированы, поэтому перед их использованием нужно присвоить им какое-либо значение.

Нельзя использовать значения неинициализированных переменных!

Дело в том, что это не является ошибкой с точки зрения компилятора, в лучшем случае он выдаст предупреждение (warning), но позволит скомпилировать и запустить программу.

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

Происходит это потому, что память, используемая для хранения данных, по умолчанию не очищается. Когда необходимость в используемом участке памяти отпадает, он освобождается, то есть помечается как свободный, и может быть выделен любой программе, в том числе – и вашей. Как известно, переменная – именованная область памяти, и при объявлении переменной выделяемая под нее память тоже не очищается, таким образом, начальным значением неинициализированной переменной окажется кусок данных, оставшийся после каких-то вычислений. Обычно это – очень большое положительное или отрицательное значение.

Например, следующий фрагмент кода демонстрирует использование неинициализированных переменных и полученный при этом результат:

int a;

short b;

cout << a << “ | “ << b; // выведет 1914583012 | 14308



<== предыдущая лекция | следующая лекция ==>
Вещественные типы (float, double, long double) | Время существования и область видимости переменных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.21 сек.