gpt4 book ai didi

c - malloc 的问题

转载 作者:太空宇宙 更新时间:2023-11-04 00:33:15 24 4
gpt4 key购买 nike

我正在尝试在我的代码中应用 malloc,但仍然有问题,有一条错误提示:“请求成员‘id’不是结构或 union ”。

我想做的是使用 malloc 而不是 array.. 并将结构存储在每个索引中,我尝试了 array[i]->id,但一堆垃圾字符存储在我的文本文件中。我也增加了 i 并且没有使用循环,因为用户只能输入一次......这是我的代码:

#include<stdio.h>
#include<stdlib.h>
struct studentinfo{
char id[8];
char name[30];
char course[5];
}s1;
main(){
int i=0;
FILE *stream = NULL;
stream = fopen("studentinfo.txt", "a+");
struct studentinfo *array[50];

array[i] = (struct studentinfo*) malloc(sizeof(struct studentinfo));
printf("Enter Student ID: ");
scanf("%s", array[i].id);
fflush(stdin);
printf("Enter Student Name: ");
gets(array[i].name);
fflush(stdin);
printf("Enter Student Course: ");
scanf("%s", array[i].course);

fprintf(stream, "\n%s,\t%s,\t%s", array[i].id, array[i].name, array[i].course);
i++;
fclose(stream);
free(array);
getch();
}

希望你能帮助我...提前致谢:)

最佳答案

您访问的属性不正确。

数组[i]

是一个指向结构体的指针,所以

数组[i].id

会给你一个错误。使用

数组[i]->id

取消引用。

关于c - malloc 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4351849/

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