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);
}
相关推荐
7年老菜鸡2 小时前
策略模式(C++)三分钟读懂
c++·qt·策略模式
huanggang9825 小时前
在Ubuntu22.04上使用Qt Creator开发ROS2项目
qt·ros2
老秦包你会6 小时前
Qt第三课 ----------容器类控件
开发语言·qt
spygg7 小时前
Qt低版本多网卡组播bug
qt·组播·多网卡组播·qt5.7.0
码农客栈8 小时前
qt QWebSocketServer详解
qt
plmm烟酒僧9 小时前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv
Black_Friend9 小时前
关于在VS中使用Qt不同版本报错的问题
开发语言·qt
CSUC9 小时前
【Qt】QTreeView 和 QStandardItemModel的关系
qt
冷凝女子10 小时前
【QT】海康视频及openCv抓拍正脸接口
qt·opencv·音视频·海康
苏三有春12 小时前
PyQt5实战——UTF-8编码器功能的实现(六)
开发语言·qt