gpt4 book ai didi

c - 我是否正确使用 malloc?

转载 作者:太空狗 更新时间:2023-10-29 15:45:31 25 4
gpt4 key购买 nike

美好的一天!

我需要在创建学生列表系统时使用 malloc...。为了提高效率,我们的教授要求我们在结构上使用它,所以我创建了一个结构,如下所示:

struct student {
char studentID[6];
char name[31];
char course [6];
};
struct student *array[30];

每次我添加一条记录,也就是我使用malloc的时候...

array[recordCtr]=(struct student*)malloc(sizeof(struct student));
recordCtr++;

然后我像这样释放它。

 for(i = 0; i < recordCtr; i++){
free(array[i]);
}

我是否正确使用了 malloc???如果我像这样释放它而不是上面的循环,会有什么影响。

free(array);

提前致谢。非常感谢您的意见。

最佳答案

你做的很好。

free(array); 将是未定义的行为,因为 array 本身不是通过 malloc 分配的,因此你不能 free 它不需要 - 内存将由编译器管理。

关于c - 我是否正确使用 malloc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4343753/

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