结构变量的名字是什么意思?结构变量的名称是什么意思?
换句话说,当我试图代码:
typedef struct enr
{
int a ;
char b ;
}enr ;
int main()
{
enr x ;
printf(" x = %d\n",x) ;
printf(" x.a = %d\n",x.a);
return 0 ;
}
我得到:为X和a.x两个!所以我得到结构的第一个字段作为x的内容。
任何人都可以告诉我在一般情况下会发生什么(当第一个变量是数组,字符或其他东西时)?
没有C/C++这样的东西,请选择你需要哪种语言的答案。 – Slava
没有'a.x',你的意思是'x.a'?请提供一个_working example_而不是一些不会重现该问题的伪代码。 – tkausl
您调用*未定义的行为*将具有错误类型的数据传递给'printf()'。另一个*未定义的行为*将被调用以使用具有自动存储持续时间的未初始化变量的值,这是不确定的,如果您正在使用C. – MikeCAT