gpt4 book ai didi

ios - 在 C 中分配/释放结构指针的动态数组

转载 作者:行者123 更新时间:2023-12-02 20:01:59 26 4
gpt4 key购买 nike

假设我在 C 中有以下两个结构定义。

struct child { 
int x;
};

struct Yoyo {
struct child **Kids;
};

我将如何为 children 分配内存。

例如,我有一些函数 Yoyo_create()。

static struct Yoyo * yoyo_create() {

int n = 32000;

struct Yoyo *y;

y = malloc(sizeof( *Yoyo));

y->Kids = malloc(n*sizeof(*Child));

for (i = 0 ; i < n ; i ++) { y->Kids[i] = NULL; }

}

然后用我会做的一些“析构函数”来摧毁 children 。

void yoyo_destroy(struct yoyo *y)
{
free(y->Kids);
free(y);
}

这有意义吗?

最佳答案

你不需要这些行

y->Kids = malloc(n*sizeof(*Child)); and <br>
free(y->Kids);

因为你的 y 中包含 kids 结构。除了这些,你一切顺利

关于ios - 在 C 中分配/释放结构指针的动态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31107142/

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