关于烫烫烫和屯屯屯

微较的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;
}
相关推荐
初願致夕霞3 小时前
C++11:类型推导与完美转发复盘笔记
c++
小猪写代码4 小时前
C++中什么是类,什么是对象
c++
钓鱼的肝7 小时前
梳理(1-5)
c++·经验分享·笔记·算法·青少年编程
jimy19 小时前
readelf 查看“派生类”的vtable符号
开发语言·c++
蒸蒸yyyyzwd9 小时前
cpp 选手秋招学习笔记 day37 面经学习
c++·八股
YYYing.9 小时前
【C++进阶系列 (七)】C++ RTTI 深度剖析:从 typeid 到 dynamic_cast 的底层之旅
开发语言·c++·c/c++·rtti
钓鱼的肝11 小时前
csp-j-s总结(2)
c++·经验分享·笔记·算法·青少年编程
重生的黑客11 小时前
Qt 常用控件精讲(1):QWidget 核心属性全解 —— 从 geometry 到 qrc 与 QSS
c++·qt·qwidget·qss·常用控件
Hespethorn11 小时前
取 `X-Forwarded-For` 首段做频控 key,等于把限流开关交给了调用方
c++
米糕闯编程11 小时前
鱼香ros2(七)功能包组织C++节点
c++·ros2·cmakelists