关于烫烫烫和屯屯屯

微较的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;
}
相关推荐
史迪奇_xxx1 天前
10、一个简易 vector:C++ 模板与 STL
java·开发语言·c++
我是华为OD~HR~栗栗呀1 天前
华为od-21届考研-C++面经
java·c语言·c++·python·华为od·华为·面试
oioihoii1 天前
C++ 中的类型转换:深入理解 static_cast 与 C风格转换的本质区别
java·c语言·c++
小妖6661 天前
vscode 怎么运行 c++ 文件
开发语言·c++
lingran__1 天前
算法沉淀第三天(统计二进制中1的个数 两个整数二进制位不同个数)
c++·算法
小冯记录编程1 天前
深入解析C++ for循环原理
开发语言·c++·算法
磨十三1 天前
C++ 容器详解:std::list 与 std::forward_list 深入解析
开发语言·c++·list
今麦郎xdu_1 天前
【Linux系统】命令行参数和环境变量
linux·服务器·c语言·c++
情深不寿3171 天前
C++特殊类的设计
开发语言·c++·单例模式
Vanranrr1 天前
nullptr vs NULL:C/C++ 空指针的演变史
c语言·c++