gpt4 book ai didi

c - 释放分配的指针

转载 作者:太空狗 更新时间:2023-10-29 16:37:44 24 4
gpt4 key购买 nike

以下代码是否释放分配给 x 的内存?

int main()
{
char *x = (char*)calloc(100, sizeof(char));
char *y = x;
free(y);
}

最佳答案

当你做的时候

char *y = x;

你让 y 指向 x 指向的位置。由于 y 指向由 calloc 返回的内存位置,

free(y);

完全有效。作为@haccks commented ,如果您使 y 指向另一个内存位置,这将不起作用,前提是该内存位置不是由 malloc/calloc/返回的重新分配


在 C 中,你 should not cast the result of malloc/calloc/realloc .此外,检查 calloc 的返回值以查看它是否成功也是好的。 calloc 将在失败时返回 NULL

关于c - 释放分配的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29985497/

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