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);
}
相关推荐
edjxj3 小时前
Qt图片资源导入
开发语言·qt
qq_25929724733 小时前
QT-事件
开发语言·qt
DreamLife☼3 小时前
Qt 中的 Q_OBJECT 宏详解 —— 从源码到底层机制的全面剖析
qt·信号·qml·q_object··rtti·运行时类型信息
歪歪1004 小时前
qt creator新手入门以及结合sql server数据库开发
c语言·开发语言·后端·qt·数据库开发
ajassi20007 小时前
开源 C++ QT Widget 开发(十三)IPC通讯--本地套接字 (Local Socket)
linux·c++·qt·开源
kyle~8 小时前
Qt---对话框QDialog
数据库·qt·microsoft
滴滴滴嘟嘟嘟.8 小时前
Qt动画功能学习
开发语言·qt·学习
FPGAI1 天前
Qt编程之信号与槽
开发语言·qt
只因在人海中多看了你一眼1 天前
B.50.10.09-RPC核心原理与电商应用
qt·网络协议·rpc
yudiandian20141 天前
【QT 5.12.12 下载 Windows 版本】
开发语言·qt