Основы программирования

Глава 5 - Операция приведения
Индекс материала
Глава 5
ОСНОВНЫЕ ОПЕРАЦИИ
Операция сложения: +
Операция вычитания: -
Операция умножения: *
Операция деления: /
Порядок выполнения операций
НЕКОТОРЫЕ ДОПОЛНИТЕЛЬНЫЕ ОПЕРАЦИИ
Операции увеличения и уменьшения: ++ и --
Операция уменьшения: --
Старшинство операций
Не будьте слишком умными
ВЫРАЖЕНИЯ И ОПЕРАТОРЫ
Составные операторы (блоки)
Резюме: выражения и операторы
ПРЕОБРАЗОВАНИЕ ТИПОВ
Операция приведения
Резюме: операции в языке Си
ПРИМЕР ПРОГРАММЫ
ЧТО ВЫ ДОЛЖНЫ БЫЛИ УЗНАТЬ В ЭТОЙ ГЛАВЕ
ВОПРОСЫ И ОТВЕТЫ
Все страницы

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

Этот способ называется "приведением" типов и используется следующим образом: перед данной величиной в круглых скобках записывается имя требуемого типа. Скобки и имя типа вместе образуют операцию приведения". В общем виде она записывается так

(тип)

где фактическое имя требуемого типа подставляется вместо слова "тип".
Рассмотрим две нижеследующие строки, где mice - это переменная типа int. Вторая строка содержит две операции приведения

mice = 1.6 + 1.7;
mice = (int)1.6 + (int)l.7;

В первом примере используется атоматическое преобразование типов. Сначала числа 1.6 и 1.7 складываются - результат равен 3.3. Затем путем отбрасывания дробной части полученное число преобpaзyeтcя в 3 для согласования с типом int переменной mice. Во втором примере 1.6 и 1.7 преобразуются в целые числа 1, так что переменной mice присваивается значение, равное 1+1, или 2.

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