小编pix*_*ure的帖子

在C中初始化结构数组

我正在做一个简单的学生数据库程序练习,我不确定如何初始化一组结构.我正在尝试stdt[]使用编译时已知的值初始化数组的前3个元素,然后将从用户输入填充接下来的3个学生的信息.当我编译时,我收到错误:

lab7.c: In function ‘main’:

lab7.c:16:9: error: expected expression before ‘{’ token
 stdt[0]={"John","Bishop","s1234","Inf",'m',18};
         ^

lab7.c:17:9: error: expected expression before ‘{’ token
 stdt[1]={"Lady","Cook","s2345","Eng",'f',21};
         ^

lab7.c:18:9: error: expected expression before ‘{’ token
 stdt[2]={"James","Jackson","s33456","Eng",'m',17};
         ^
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能正确?

这是迄今为止的代码:

#include <stdlib.h>
#include <stdio.h>

typedef struct {
    char *name;
    char *surname;
    char *UUN;
    char *department;
    char gender;
    int age;
} student_t;

int main() {
    int i;
    student_t stdt[6];
    stdt[0]={"John","Bishop","s1234","Inf",'m',18};
    stdt[1]={"Lady","Cook","s2345","Eng",'f',21};
    stdt[2]={"James","Jackson","s33456","Eng",'m',17};

    for(i=3;i<6;i++) {
        printf("First name: \n");
        scanf("%s",stdt[i].name);
        printf("Last name: \n");
        scanf("%s",stdt[i].surname);
        printf("UUN: \n");
        scanf("%s",stdt[i].UUN); …
Run Code Online (Sandbox Code Playgroud)

c arrays struct

3
推荐指数
1
解决办法
117
查看次数

标签 统计

arrays ×1

c ×1

struct ×1