关于烫烫烫和屯屯屯

微较的msvc编译器,调试模式下为了方便检测内存的非法访问,对于不同的内存做了初始化,

未初始化栈: 0xCCCCCCCC

未初始化堆: 0xCDCDCDCD

已释放的堆: 0xDDDDDDDD

0xCCCC解释为GB2312字符即是烫, 0xCDCD即是屯, 0xDDDD即是葺。所以遇到此类问题时,从现象的不同可以反推出具体的内存错误类型。

cpp 复制代码
#include <stdio.h>
#include <malloc.h>

int main(int argc, char** argv)
{
	char stack_mem[32];
	stack_mem[31] = 0;
	printf("stack mem: %s\n", stack_mem);

	char *heap_mem = (char *)malloc(32);
	if (heap_mem != NULL) {
		heap_mem[31] = 0;
		printf("heap  mem: %s\n", heap_mem);

		free(heap_mem);
		printf("heap  mem: %s\n", heap_mem);
	}

	return 0;
}
相关推荐
钰珠AIOT10 分钟前
什么是句柄,有什么用?适用于什么场景?
c语言·c++
众少成多积小致巨31 分钟前
Android 初始化语言入门
android·linux·c++
yangtuoni32 分钟前
vscode调试C++ python相关配置
c++·vscode·python
wuyoula42 分钟前
尹之盾企业版网络验证
服务器·开发语言·javascript·c++·人工智能·ui·c#
hi_ro_a1 小时前
C++ 手撕 STL 底层:红黑树封装 mymap/myset
数据结构·c++·算法
小卓(friendhan2005)1 小时前
基于Qt的音乐播放器项目
数据库·c++·qt
tankeven1 小时前
贪心算法(Greedy Algorithm)详解:从理论到C++实践
c++·算法
Hesionberger1 小时前
LeetCode72.编辑距离(多维动态规划)
java·开发语言·c++·python·算法
郝学胜-神的一滴1 小时前
从底层看透Linux高性能服务器:epoll自定义封装与超时清理实战
linux·服务器·c++·网络协议·tcp/ip·unix
菜菜的顾清寒1 小时前
C++面试题自用-持续更新
开发语言·c++