Если это простая переменная, ничто не будет получено при использовании более короткой ширины, и некоторая производительность может быть потеряна. Компилятор автоматически расширит хранилище до полного слова процессора, поэтому даже если вы объявляете только 16 бит, он, вероятно, займет 32 бита в стеке. Кроме того, компилятору может потребоваться выполнить определенные операции усечения в некоторых случаях (например, когда поле является частью структуры); это может вызвать небольшие накладные расходы.
Это действительно имеет значение только для структур и массивов, т. Е. Если у вас много значений. Для структуры вы можете сэкономить некоторую память за счет накладных расходов, о которых я упоминал выше. Кроме того, вы можете быть вынуждены использовать меньший размер, если структура должна следовать некоторому внешнему расположению. Для массива экономия памяти может иметь значение, если массив большой.