<< Предыдущая Оглавление Следующая >>


1.4. Оператор присваивания

Для того чтобы задать то или иное значение переменной используется оператор присваивания, который записывается как знак ‘=’. Работу этого оператора представим на следующем примере:

int length = 5;

Здесь переменной с именем length присваивается значение 5, т.е. элемент слева от знака равенства является именем переменной, а элемент справа – это значение, присвоенное этой переменной. Сам символ ‘=’ называется оператором присваивания.

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

int i=2;
i=i+1;

С математической точки зрения такая операция не имеет смысла, т.к. переменная i не может быть равна i+1. Однако данная запись в смысле операции присваивания вполне приемлема. Действительно, компьютер сначала определит значение переменной i, а затем прибавит 1 к этому значению и полученный результат присвоит снова переменной i. Таким образом, исходное значение переменной i увеличится на 1.

Так как оператор присваивания задает значение переменной, то оператор типа

20 = i;

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

Теперь рассмотрим такой пример. Допустим, что имеются две переменные разного типа:

short agr_short = -10;
long arg_long;

и выполняется оператор присваивания

arg_long = arg_short;

В результате переменная arg_long будет иметь значение 10 и оператор присваивания выполнит автоматическое преобразование типов и потери данных не происходит. В другом случае, когда

float agr_f = 8.7;
int arg_long;
arg_long = arg_f;

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

<эимя_переменной_1> = (тип_данных)<эимя_переменной_2>;

Например,

arg_long = (long )arg_f;

Видео по теме

С++ с нуля: урок 1 - переменные, оператор присваивания

С++ с нуля: урок 2 - арифметические операции

С++ с нуля: урок 3 - директивы препроцессора

С++ с нуля, урок 4: условные операторы if и switch

С++ с нуля: урок 5 - операторы циклов while, for и do while

С++ с нуля: урок 6 - массивы, метод всплывающего пузырька

С++ с нуля: урок 7 - строки и функции работы с ними

С++ с нуля: урок 8 - функции: прототипы, перегрузка, рекурсия

С++ с нуля: урок 9 - области видимости переменных

С++ с нуля: урок 10 - битовые операции И, ИЛИ, НЕ, XOR

С++ с нуля: урок 11 - структуры

С++ с нуля: урок 12 - объединения, перечисления, typedef

С++ с нуля: урок 13 - указатели и ссылки, выделение памяти

С++ с нуля: урок 14 (часть 1) - функции работы с файлами

С++ с нуля: урок 14 (часть 2) - функции работы с файлами

С++ с нуля: урок 15 - стек, теория и практика

С++ с нуля: урок 16 - связные списки, теория и практика

С++ с нуля: урок 17 - бинарное дерево, теория и практика



<< Предыдущая Оглавление Следующая >>