【C语言】常见的动态内存管理错误

慈云数据 1年前 (2024-03-15) 技术支持 43 0

前言

上一篇介绍C语言中 动态内存管理函数,本片讲解的是 在我们使用动态内存管理时 常见的错误,一起来看看吧~

欢迎关注个人主页:逸狼


创造不易,可以点点赞吗~

如有错误,欢迎指出~


目录

1.对NULL指针的解引⽤操作

错误代码展示

修改

2.对动态开辟空间的越界访问

错误代码展示

修改

3 .对⾮动态开辟内存使⽤free释放

错误代码展示

4 .使⽤free释放⼀块动态开辟内存的⼀部分

错误代码展示

5. 对同⼀块动态内存多次释放

错误代码展示

修改

6.动态开辟内存忘记释放(内存泄漏)

错误代码展示

修改​编辑


1.对NULL指针的解引⽤操作

错误代码展示

int main()
{
	int* p = (int*)malloc(100);
	*p = 20;//p有可能是NULL指针	
    //释放
	free(p);
	p = NULL;
	return 0;
}

修改

2.对动态开辟空间的越界访问

错误代码展示

int main()
{
	int *p=(int*)malloc(40);
	if (p == NULL)
	{
		return 1;
	}
	//使用
	for (int i = 0; i 
微信扫一扫加客服

微信扫一扫加客服