По историческим причинам (в основном), символьные константы имеют тип int
в С.
Но даже если они не были, как инициализация
int num = 'a';
или присвоение как
num = 'a';
все равно будет совершенно законным. Значение любого числового типа может быть присвоено переменной любого (другого) числового типа, и значение будет неявно преобразовано (что может включать изменение представления и/или риск переполнения).
И char
, а также его родственники unsigned char
и signed char
, являются числовыми типами, в частности целыми типами.
поиск в 'типа casting' –
@AnshDavid Неправильный ответ. В вопросе нет никакого преобразования, а «кастинг» означает использование явного преобразования. –
@AnshDavid Тип casting - это когда я пишу '(type) value', чтобы отличить' значение' в type 'type'. – glglgl