顺序表的动态分配中malloc申请来的空间最后编译器会自动释放吗

我做了一个顺序表,动态申请了一片内存空间

#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)编译器在程序运行完之后会自动释放空间吗

不会,会持续占用系统内存