为什么在创建对象的地方完成结构初始化请看下面的代码?
struct st {
int i;
char ch;
float f;
};
int main() {
struct st var = {2, 'h', 33.45}, var2; // here initialization is gud
var2= {3, 't', 55}; // here initialization is bad why?
printf("%d %c %f\n", var.i, var.ch, var.f);
printf("%d %c %f\n", var2.i, var2.ch, var2.f);
}
答案 0 :(得分:1)
声明后,可以遵循以下语法来初始化结构元素。
var2.i=2;
var2.ch='t';
var2.f=55;
这是C语言的语法。
答案 1 :(得分:0)
应该是
struct st var2 = {3,'t',55};
或
struct st var2;
var2.i = 3;
var2.ch = 't';
var2.f = 55;