读书人

这么初始化这个结构为啥错了?

发布时间: 2013-10-31 12:03:52 作者: rapoo

这样初始化这个结构为啥错了???
struct CandyBar sweet[3];
sweet[0]={"MM1",2.31,3501};
sweet[1]={"MM2",2.32,3502};
sweet[2]={"MM3",2.33,3503};
[解决办法]

int main(){

struct CandyBar
{
int k;
};
struct CandyBar sweet[3];
/*初始化只能CandyBar sweet[3]= {{3501},{3502},{3503}};这种形式,
如果数组形式赋值的话,只有对结构体成员赋值,如下*/
sweet[0].k=1;
sweet[1].k=2;
sweet[2].k=3;
}

[解决办法]
“变量赋值”和“变量初始化”不是一回事!
“变量赋值”发生在运行期,其写法遵循赋值语法规定。
“变量初始化”发生在编译期或运行期,其写法遵循初始化列表语法规定。

读书人网 >C++

热点推荐