asurport
成想
2015-05-06 15:06
采纳率: 40%
浏览 2.8k
已采纳

C语言结构体数组在头文件里赋值的问题

图片说明
上面的赋值是写在一个头文件里的,用VS2008,或者VC++6.0调都会出现上面的错误,VS2013和DEV就不会报错。
完整代码是:
//头文件“信息.h”
struct students
{
long code;
char *name;
float score[3];
float sum;
};
void default_initiate(struct students stu[ ])
{
stu[0] = { 20140001, "陈龙", {50.0, 30.0, 89.0 }};
}

//main函数
int main( )
{
int a[2],c;
struct students class1[3];
default_initiate(class1);
return 0;
}
请问语法是哪里错了呢?一定要把给结构体数组赋初值放到main函数里面吗?
学生党一枚,请各位大大们帮忙!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • caozhy
    已采纳

    stu[0].code = 20140001;
    stu[0].name = "xxx";
    ...

    点赞 评论
  • caozhy

    应该是C++ 11的语法,VS2010+才开始支持。

    点赞 评论
  • zxh707wk
    707wk 2015-05-10 13:51

    这种写法只能在定义的时候用

    点赞 评论

相关推荐