leonard10 2021-02-07 17:34 采纳率: 100%
浏览 65
已采纳

顺序表的动态分配中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申请来的空间

麻烦老师们给我解答一下疑惑,谢谢

  • 写回答

3条回答 默认 最新

  • peng450 2021-02-08 09:35
    关注

    如果你的进程退出,所有属于该进程的空间都会释放。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?