【发布时间】:2017-07-13 09:47:57
【问题描述】:
Code 1
#include <stdio.h>
int T;
int main()
{
struct T{ double x;};
printf("%d", sizeof(T));
return 0;
}
输出:4
Code 2
#include <stdio.h>
struct T{ double x;};
int main()
{
int T;
printf("%d", sizeof(T));
return 0;
}
输出:4
对于code 1,我认为输出是全局变量(int T)的大小,这就是它给出 4 的原因。
但是对于code 2,它给出了输出4,根据全局变量逻辑,对于struct T{ double x;};,它应该是输出8。
这里,全局变量的概念是不正确的——我认为。
谁能解释一下为什么输出看起来像这样?
【问题讨论】:
标签: c struct scope global-variables sizeof