gpt4 book ai didi

c - 动态分配的函数中的局部指针变量会发生什么?

转载 作者:行者123 更新时间:2023-12-04 01:00:31 25 4
gpt4 key购买 nike

我很想知道如果你在函数中声明一个 int 指针,然后使用 malloc 动态分配它会发生什么

void testing(){
int *p = malloc(sizeof(int));
*p = 5;
}

即使在函数完成执行后指针被销毁,数据(在这种情况下为 5)是否仍然存在于堆中?

最佳答案

使用 malloc() 分配的内存或 calloc()不会自动释放。您必须调用 free()显式取消分配内存。

// Allocate
int* p = (int*)malloc(10 * sizeof(int));

// De-allocate
free(p);

关于c - 动态分配的函数中的局部指针变量会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58516364/

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