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

Преобразование типов в языке СИ (явное и неявное)



В языке Си: есть возможность преобразовывать один тип данных в другой.

Несколько основных правил, касающихся преобразования типов:

1 Если операция выполняется над данными двух различных типов, обе величины приводятся к высшему из двух типов. Этот процесс называется повышением типа.

2 Последовательность имен типов, упорядоченных от высшего типа к низшему, выглядит так: double, float, long, int, short, char. Применение ключевого слова unsigned повышает ранг соответствующего типа данных со знаком.

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

Существует 2 типа преобразования:

Неявное преобразование (как бы скрытое от нас):

Неявные преобразования типа выполняются главным образом для согласования аргументов оператора или функции (если это возможно) со значениями, предполагаемыми в этих операторах или функциях.

ü при выполнении арифметических операций

ü при выполнении операций присваивания

ü при передаче аргументов в функцию

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

В арифметических операциях:

· операнды типов char и short преобразуется к типу int, операнды типа float преобразуется к типу double

· если хотя бы один из операндов имеет тип double, то и другой операнд преобразуется к типу double, результат имеет тип double

· если хотя бы один операнд имеет тип long, то и другой операнд преобразуется к типу long, результат имеет тип long

· если хотя бы один операнд имеет тип unsigned, то и другой операнд преобразуется к типу unsigned, результат имеет тип unsigned

Преобразования при вызове функции: если задан прототип функции и он включает объявление типов аргументов, то над аргументами в вызове функции выполняются только обычные арифметические преобразования

Явное преобразование:

Явное приведение (изменение) типа это специальная конструкция языка программирования, которая указывает, как трактовать тип определенной переменной (или результат выражения).

Выражение E может быть явно преобразовано к типу (имя_типа) при помощи оператора: (имя_типа) E;

Замечание:

o все типы могут быть явно преобразованы в тип void;

o тип void НЕЛЬЗЯ преобразовать в какой-либо другой тип;

o явное преобразование не реализованы для struct и union

33.Препроцессор - это программа, выполняющая обработка входных данных для другой программы

Директивы препроцессора





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



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