关于烫烫烫和屯屯屯

微较的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;
}
相关推荐
桀人17 小时前
C++——模板初阶(收录在专栏C++入门到精通)
开发语言·c++
Lumbrologist17 小时前
【C++】零基础入门 · 第 2 节:变量、基本数据类型与输入输出
java·开发语言·c++
XX風17 小时前
CMake / Make / Ninja / MSVC / GCC / Clang / MSBuild —— 完整体系化理解
c++
Peter·Pan爱编程18 小时前
10. new_delete 不是 malloc_free 的包装
c++·人工智能·算法
故事和你9119 小时前
洛谷-【动态规划1】动态规划的引入2
开发语言·数据结构·c++·算法·动态规划·图论
fpcc20 小时前
c++编程实践——历史记录的管理
c++
玖笙&21 小时前
✨WPF编程基础【3.3】:容器控件(附源码)
c++·wpf·visual studio
汉克老师21 小时前
GESP5级C++考试语法知识(十七、二分算法提高篇(二))
c++·算法·二分算法·gesp5级·gesp五级·二分算法易错点
我材不敲代码1 天前
Python 正则表达式进阶实战:从文本清洗到复杂信息提取
c++·python·正则表达式
我命由我123451 天前
Android Framework P3 - MediaServer 进程、认识 ServiceManager 进程
android·c语言·开发语言·c++·visualstudio·visual studio·android runtime