Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Операции присваивания



В Си имеется несколько операций (именно операций!) присваивания. Наиболее используемая — обычное присваивание (=). Например,

a = 3; x = y; sum = x + y; delta =0.001;

Общая форма присваивания:

l\_value = <выражение>.

Следует помнить, что операции присваивания (=) и проверки равенства (==) принципиально различны, хотя синтаксически могут участвовать в одних и тех же выражениях. При присваивании объект-адресат меняет свое значение, а при проверке на совпадение все объекты остаются неизменными. Обычно компиляторы выдают предупреждения о сомнительных ситуациях, например, если в месте, где по смыслу проводится проверка условия стоит присваивание (синтаксис допускает это).

Об операциях присваивания часто говорят, как о операторах (statement) присваивания.

Однако в Си — это операция (operator) со своим результатом, совпадающим с присваиваемым значением. Поэтому присваивание может истолковываться не только как оператор, но и входить составной частью в арифметические выражения. Результат этой операции совпадает с присваиваемым значением. Благодаря этому в Си возможно множественное присваивание:

x = y = z = 2+3;

Здесь вначале выполняется операция z=5, результат которой 5. Затем это число присваивается переменной y, результат операции вновь 5 и т.д. Результат последнего присваивания использоваться не будет и его значение как бы "повисает" в воздухе. Поэтому в Си оказываются синтаксически верными инструкции вида (компилятор просто выдаст предупреждение):

--9/5;

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

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

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





Дата публикования: 2014-12-25; Прочитано: 136 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...