Короткий ответ: все в порядке.Это особенно хорошо, если вам нужно сделать из них большие массивы, хотя я хотел бы просто использовать встроенный в C99 1 .
Так как вы спросили "есть ли любой недостаток ... "Полагаю, я мог заметить, что были важные машины, у которых на самом деле не было инструкции загрузки символов.(На ум приходят Cray и начальная DEC Alpha.) В будущем машины могут внезапно снова стать минимальными.
всегда будет быстрым для загрузки стандартного целочисленного типа.
, вероятно, всегда будет быстро загружать отдельный символ.
1.См. C99 6.2.5.Есть встроенный тип _Bool
.Затем, если вы включите <stdbool.h>
(см. C99 7.16), вы получите псевдоним с более изящным именем bool
и определения для true
и false
.Если вы воспользуетесь этим, он будет конфликтовать с вашим typedef, но я уверен, что это будет легко исправить.