realloc使用示例代码:

复制代码
#include <stdlib.h>
int main()
{
	int* ptr = (int*)malloc(100);
	if (ptr != NULL)
	{
		//业务处理
	}
	else
	{
		return 1;
	}
	//扩展容量
	//代码1 - 直接将realloc的返回值放到ptr中
	ptr = (int*)realloc(ptr, 1000);//这样可以吗?(如果申请失败会如何?)
	//代码2 - 先将realloc函数的返回值放在p中,不为NULL,在放ptr中
	int* p = NULL;
	p = realloc(ptr, 1000);
	if (p != NULL)
	{
		ptr = p;
	}
	//业务处理
	free(ptr);
	return 0;
}

常见动态内存错误

1. 对NULL指针解引用

复制代码
void test()
{
	int* p = (int*)malloc(INT_MAX / 4);
	*p = 20;//如果p的值是NULL,就会有问题
	free(p);
}
相关推荐
颜*鸣&空6 小时前
QT实现串口通信+VSPD+串口调试工具
开发语言·qt
颜*鸣&空11 小时前
QT程序实现串口通信案例
开发语言·qt
Main. 2411 小时前
从0到1学习Qt -- 常见控件之显示类控件
qt·学习
qq_4017004117 小时前
Qt中事件循环与并发机制的协同工作
qt
qq_401700412 天前
Qt Positioning 模块访问设备地理位置信息
开发语言·qt
闫有尽意无琼2 天前
银河麒麟v11 arm编译Qt creator8.0.2报错
开发语言·qt
lqj_本人2 天前
鸿蒙Qt触控疑云:事件传递丢失与坐标偏移修复
qt·华为·harmonyos
_OP_CHEN2 天前
从零开始的Qt开发指南:(五)Qt 常用控件之 QWidget(上):解锁 Qt 界面开发的核心基石
开发语言·c++·qt·前端开发·qwidget·gui开发·qt常用控件
happyjoey2172 天前
使用Qt自带的Maintenance Tool将Qt6.9升级为QT6.10
开发语言·qt
lqj_本人2 天前
鸿蒙Qt生命周期:后台被杀后的数据自救
qt·华为·harmonyos