gpt4 book ai didi

c - 以下代码有问题

转载 作者:行者123 更新时间:2023-11-30 19:54:50 27 4
gpt4 key购买 nike

我想知道下面代码的问题。我似乎遇到了段错误。

void mallocfn(void *mem, int size)
{
mem = malloc(size);
}

int main()
{
int *ptr = NULL;
mallocfn(ptr, sizeof(ptr));
*ptr = 3;

return;
}

最佳答案

假设您的示例中 malloc 的包装器命名错误(您在 main(...) 函数中使用 AllocateMemory ) - 所以我认为您称为 malloc 的函数实际上是AllocateMemory,你按值传入一个指针,将这个参数值设置为malloc的结果,但是当函数返回传入的指针时不会改变。

int *ptr = NULL;
AllocateMemory(ptr, sizeof(ptr));
*ptr = 3; // ptr is still NULL here. AllocateMemory can't have changed it.

关于c - 以下代码有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6163348/

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