gpt4 book ai didi

c - 何时以及为何使用 malloc

转载 作者:太空狗 更新时间:2023-10-29 16:19:05 25 4
gpt4 key购买 nike

好吧,我不明白何时以及为什么需要使用 malloc 分配内存.

这是我的代码:

#include <stdlib.h>

int main(int argc, const char *argv[]) {

typedef struct {
char *name;
char *sex;
int age;
} student;


// Now I can do two things
student p;

// Or
student *ptr = (student *)malloc(sizeof(student));

return 0;
}

我用student p;为什么还要分配内存?

最佳答案

malloc 用于动态内存分配。如前所述,它是动态分配,这意味着您在运行时分配内存。例如,当您在编译期间不知道内存量时。

一个例子应该清楚这一点。假设您知道最多会有 20 名学生。所以你可以创建一个包含 20 个静态元素的数组。您的阵列最多可容纳 20 名学生。但是,如果您不知道学生人数怎么办?假设第一个输入是学生人数。它可以是 10、20、50 或其他任何值。现在,您将在运行时获取输入 n = 学生人数,并使用 malloc 动态分配那么多内存。

这只是一个例子。像这样需要动态分配的情况有很多。

查看手册页 malloc(3) .

关于c - 何时以及为何使用 malloc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8800482/

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