gpt4 book ai didi

c - malloc 将内存转换为结构

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

分配内存的正确方法是什么?它们之间有什么区别?

void parse_cookies(const char *cookie, cookie_bank **my_cookie, int *cookies_num)
{
*my_cookie = malloc(sizeof(cookie_bank) * 1);
*my_cookie = (cookie_bank *)malloc(sizeof(cookie_bank) * 1);
my_cookie = (cookie_bank **)malloc(sizeof(cookie_bank) * 1);
///
}

我正在尝试 malloc cookie_bank 结构函数数组。

最佳答案

我假设您希望函数为数组分配内存并通过指针参数传递结果。因此,您想编写 T * x = malloc(...),并将结果分配给指针参数,*y = x:

cookie_bank * myarray;
parse_cookies(..., &myarray, ...);
/* now have myarray[0], myarray[1], ... */

所以正确的调用应该是,全部卷成一行,

parse_cookies(..., cookie_bank ** y, ...)
{
*y = malloc(sizeof(cookie_bank) * NUMBER_OF_ELEMENTS);
}

关于c - malloc 将内存转换为结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7102080/

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