当前位置:首页 > 内存 > 正文

内存申请后谁释放

  • 内存
  • 2024-08-14 20:49:38
  • 5711

一、用malloc申请的内存空间,在main函数结束后会自己释放吗?不,你需要释放她。malloc申请的内存空间在堆上。直到程序退出时队列才会被清除。当然,如果你只有一个main函数,那么main函数执行时就会释放空间。结束。
二、c语言中,malloc和free是什么意思?

与内存管理相关的函数有两个,malloc申请内存和释放内存。

1malloc的一般使用:

int*t=NULL;

t=(int*)malloc(sizeof(int));

t=(int*)malloc(sizeof(int));

也可以在sizeof前加上'n*',这就成为动态分配数组的方法。

2free的一般用法:

int*t=NULL;

t=(int*)malloc(sizeof(int));

t=(int*)malloc(sizeof(int));

free(t);

这样,t指向的空间就被释放了。

扩展信息:

malloc函数的定义

函数原型为void*malloc(unsignedintsize);在内存中动态存储区中分配一块大小为length的连续空间。该函数的返回值是指定区域的起始地址,或者说,该函数是一个指针函数,返回的指针指向指定区域的开头。

如果分配成功,则返回指向已分配内存的指针(该存储区域的初始值不确定),否则返回空指针NULL。当内存不再使用时,必须使用free()函数释放内存块。

参考来源:-malloc函数

参考来源:-free()