为什么在创建对象的地方进行结构初始化请看下面的代码?

时间:2014-08-25 04:51:53

标签: c structure

为什么在创建对象的地方完成结构初始化请看下面的代码?

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);
}

2 个答案:

答案 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;