Как видно из названия, я не понимаю, почему это так.
Код:
#include <stdio.h>
#define try 32
int main(void)
{
printf("%ld\n" , sizeof try);
return 0;
}
Вопрос:
1.) Когда я пытаюсь использовать оператор sizeof
для получения размера хранилища, в котором хранится константа try
, я получаю 4, которое является 32-битным.
2.) Почему C не хранит его в 16-битовом short
, поскольку он достаточно велик, чтобы вместить его.
3.) Есть ли способы сохранить константу в типе short
?
Спасибо, что прочитали мой вопрос, очень признателен.