Форум программистов, компьютерный форум CyberForum.ru

Преобразования типов - C++

Восстановить пароль Регистрация
 
two steps
6 / 6 / 3
Регистрация: 13.06.2011
Сообщений: 27
06.07.2011, 22:39     Преобразования типов #1
Почему можно присваивать символьной переменной типа char целые числа? И наоборот, целочисленному типу int можно присваивать символы. Происходит ли преобразование типа или это обычное явление когда в целый тип помещаются символы?

C++
1
2
char ch = 34;
int i =  'c';
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2011, 22:39     Преобразования типов
Посмотрите здесь:

операторы преобразования типов C++
Преобразования типов C++
Преобразования типов C++
C++ Операторы преобразования типов
Преобразования типов C++
C++ преобразования типов
Программа преобразования типов данных С++ C++
C++ Проверка возможности преобразования типов

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Bers
Заблокирован
06.07.2011, 22:55     Преобразования типов #2
Цитата Сообщение от two steps Посмотреть сообщение
Почему можно присваивать символьной переменной типа char целые числа? И наоборот, целочисленному типу int можно присваивать символы. Происходит ли преобразование типа или это обычное явление когда в целый тип помещаются символы?
внутри компьютера никаких символьных переменных не существует. Только нолики и единички.
переменные типа char на самом деле хранят код символа (целое число), а не сам символ.

Поэтому тип char можно привести к любому целочисленному типу.

int i = 'c'; //запишит в переменную i код символа 'c' Естественно, при этом происходит неявное преобразование типов.

Какая тут может быть проблема?

Вы можете сделать вот так:

char c;
int Value = 1000;

c = Value; //тип int будит неявно приведен к типу char. Однако, поскольку в char не может влезть такое большое число, то вы получите потерю данных. И потом долго удивляться, почему программа работает не так, как было задумано.

Поэтому, неявным преобразованием одного типа к другому лучше не злоупотреблять.
Yandex
Объявления
06.07.2011, 22:55     Преобразования типов
Ответ Создать тему
Опции темы

Текущее время: 08:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru