gpt4 book ai didi

c - 我如何获取存储在结构中的值?

转载 作者:太空宇宙 更新时间:2023-11-04 02:55:35 28 4
gpt4 key购买 nike

我正在尝试从结构数组中检索值。我不知道检索它们的正确方法。

这是我的结构:

struct entry{
char name[NAME_SIZE];
int mark;
};

typedef struct entry Acct;
Acct dism2A03[MAX_ENTRY];

我如何赋值:

void add_new(char *name,int mark){
printf("%s,%d",name,mark);
int v=0;
v=entry_total;
strcpy(dism2A03[v].name,name);
dism2A03[v].mark = mark;
}

我试过的(不起作用):

int m=0;
for(m=0;m<MAX_ENTRY;m++){
char name[NAME_SIZE] = dism2A03[m].name;
line 75 >> int mark = dism2A03[m].mark;
printf("\nEntry %d",m);
printf("%s",name);
printf("%d",mark);
}

错误: p9t2.c:在函数“main”中: p9t2.c:75:5: 错误:初始值设定项无效

最佳答案

您的第一次尝试意味着存在 getfield 函数,该函数采用 struct 和多字符 char 文字并获取字段; C中没有这样的函数。

您的第二次尝试更接近:与其尝试将名称分配给数组,不如将其分配给 char 指针,如下所示:

int m=0;
for(m=0;m<MAX_ENTRY;m++){
// Since you aren't planning on modifying name through pointer,
// you can declare the pointer const to make your intentions clear.
const char *name = dism2A03[m].name;
int mark = dism2A03[m].mark;
printf("\nEntry %d",m);
printf("%s",name);
printf("%d",mark);
}

关于c - 我如何获取存储在结构中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17897047/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com