|
Исторически сложилось так, что одним из первых компьютеров, для которого был сделан компилятор Си, являлся PDP-11. У этого провессора не было возможности разделения 16-разрядных регистров на отдельные байты (как, например, у I80x86), поэтому код символа всегда занимал весь регистр полностью, хотя реально требовалась только половина регистра. Поэтому и функция имела аргумент типа int и возвращала результат тоже типа int.
И MSP430 также имеет такую же особенность.
Но это абсолютно не значит, что абсолютно всегда, в обязательном порядке требуется придерживаться "стандарта". Если процессор 8-разрядный, то в целях повышения эффективности можно написать свои аналогичные функции, которые имеют тип аргумента и результата char. Возможно это может сказаться на переносимости программы, но если изначально иметь в виду возможность переноса программы на разные платформы, то программу можно оформить всегда так, чтобы проблем с переносом практически не было.
E-mail: info@telesys.ru