Преобразование типов.
Язык Си допускает выражения с операндами различных типов. Например, можно делить переменную типа float на константу типа int, прибавлять константу типа int к переменной типа char и тому подобное. Если выражение имеет операнды различных типов, более низкий тип всегда преобразуется к более высокому. Один тип ниже другого, если он занимает меньше памяти, например, целый тип ниже вещественного.
Пример:
Double x,y;
Char ch;
Long in;
Int i;
....
y = x*(i+ch/in);
В выражении y = x*(i+ch/in) преобразования типов данных будут выполняться в следующей последовательности:
· Операнд ch преобразуется к типу long ( к большему операнду выражения ch/in), по этой же причине iпреобразуется к long
· Результат операции, заключенной в круглые скобки будет иметь тип long.
· Затем он преобразуется к типу double , к большему операнду выражения x*(i+ch/in)
· Результат всего выражения будет иметь тип double
Явное приведение значения одного типа к другому выполняется с помощью специальной операции. Допускается преобразования к типу данных с меньшим объемом памяти, но следует помнить, что в этом случае будет потеряна часть информации.
Формат операции приведения типа: (имя_типа) операнд
Операндом может быть :
· Переменная
· Константа
· Выражение в круглых скобках
Примеры явного преобразования переменных:
…
Дата добавления: 2015-02-23; просмотров: 675;