嗯..我有点像长/短之类的修饰符会扩展/减少创建变量时分配的内存量,但是...
#include <stdio.h>
#define test_int int
#define long_int long int
#define long_long_int long long int
void main()
{
printf("%i\n", sizeof (test_int)); //output 4
printf("%i\n", sizeof (long_int)); //output 4. Why? wasn't I modified it's size?
printf("%i\n", sizeof (long_long_int)); //output 8
}
由于未知原因,它将int和long int的大小打印为相同。我使用 vc++ 2010 速成版。抱歉,在 google 中很难找到答案,它总是将long和int显示为单独的类型。