我做了一个顺序表,动态申请了一片内存空间
#include<stdio.h>
#include<stdlib.h> //malloc
#define initsize 10
typedef struct list{
int *data;
int maxsize;
int length;
}seqlist;
void initlist(seqlist *p){
(*p).length=0;
(*p).maxsize=initsize;
(*p).data=(int *)malloc(initsize*sizeof(int));
int i;
for(i=0;i<initsize;i++){
(*p).data[i]=0;
}
}
int main()
{
seqlist l;
initlist(&l);
free(l.data);
return 0;
}
我想知道如果我不在最后free(l.data)dev c的编译器能否自动帮我释放malloc申请来的空间
麻烦老师们给我解答一下疑惑,谢谢
如果你的进程退出,所有属于该进程的空间都会释放。
就是最后我不free(l.data)编译器在程序运行完之后会自动释放空间吗
不会,会持续占用系统内存