Peekpython 2023-10-09 18:19 采纳率: 28.6%
浏览 37

C语言结构体数组初始化问题

#关于结构体数组初始化赋值问题

下面这两个代码为什么第二种不合法?

struct student{
        int sno;
        char name[20];
        float score;
    };
//合法的赋值
struct student students[3]={{2, "will",98},{3, "uuuu",95}};

//不合法的赋值
struct student students[3];
students[0].sno = 2;
students[1].sno = 3;
  • 写回答

3条回答 默认 最新

  • 老僧& 2023-10-09 18:54
    关注

    因为它试图在声明后单独给结构体数组的元素赋值,这不符合C语言的语法规则。

    struct student students[3];
    students[0].sno = 2; // 这样的赋值方式是不合法的
    students[1].sno = 3; // 这样的赋值方式也是不合法的
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月9日

悬赏问题

  • ¥15 怎么不用break/import过滤不符合要求的输入!求解答!
  • ¥15 cs2游戏卡顿,控制台一直跳码
  • ¥15 imshow 不能显示图片只有白色空白窗口
  • ¥15 MDPI期刊中pending review一般要多久
  • ¥15 有关伽马函数运算问题
  • ¥15 C语言,蓝桥杯拼数字
  • ¥15 vue3 获取同名ref 元素
  • ¥15 superset2.1, 饼形图文字颜色修改
  • ¥15 asp.net mvc从模板创建视图失败
  • ¥20 用qt设计一个完整程序(有偿)