C语言union使用问题

问题遇到的现象和发生背景

在使用union遇到了如下情况

img

但是当union定义在main外面时

img


这是为什么呢?求解答

用代码块功能插入代码,请勿粘贴截图

#include
union A {
char x[2];
int i;
}b;
int main()
{
b.x[0] = 10;
b.x[1] = 1;
printf("%d\n", b.i);
}
/**/
#include

int main()
{
union A {
char x[2];
int i;
}b;
b.x[0] = 10;
b.x[1] = 1;
printf("%d\n", b.i);
}

没初始化,变量的值就是随机数