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);
}
相关推荐
森G29 分钟前
14、QT项目构成
qt
Larry_Yanan2 小时前
QML学习笔记(六十四)动画相关:State状态、Transition过渡和Gradient渐变
开发语言·c++·笔记·qt·学习
Ronin3052 小时前
【Qt常用控件】显示类控件
开发语言·qt·常用控件·显示类控件
浅碎时光8076 小时前
Qt (按钮/显示/输入/容器类控件 布局管理器)
开发语言·qt
2345VOR17 小时前
【QT的pyside6开发使用】
开发语言·qt
Ronin30517 小时前
【Qt常用控件】控件概述和QWidget 核心属性
开发语言·qt·常用控件·qwidget核心属性
蓝天智能20 小时前
QT实战:Qt6 编码规范模板
开发语言·qt
载数而行52020 小时前
QT前置2 可视化文件,QRC文件两种处理
c++·qt·学习
小鹿软件办公1 天前
KDE 重磅发布:digiKam 9.0 正式登场,全面升级 Qt 6 核心
开发语言·qt·digikam
Ronin1 天前
QT中使用toInt函数判断条件时,要注意越界
开发语言·qt