Прежде всего, компьютер ничего не знает о символах - с его точки зрения все это просто число.
char
тип - это просто целочисленное значение размера (в битах) CHAR_BITS,В большинстве систем это 8 бит.В зависимости от вашей реализации и параметров компиляции char
может быть подписанным или неподписанным.
Рассмотрим подписанную версию.В 32-разрядной системе:
int
обычно имеет ширину 32 бита,
short
обычно имеет ширину 16 бит
char
обычно имеет ширину 8 бит
так что это можно назвать суперскоростью:)
typedef char supershort;
Таким образом, между ними нет никакой разницы, за исключением диапазона значений, которые эти типы могут принять.
Начинающих часто смущают константы символов: 'a'
, 'b'
.... и т. Д., И это заставляет их думать, что char
- это нечто особенное, но это только для удобства людей - это гораздо сложнеезапомнить всю таблицу ASCII.
Вы можете использовать их с любыми другими типами чисел: long x = 'a'
;или даже double y = '#'
Предполагается: вы можете использовать char
тип как любой другой целочисленный тип.