关于烫烫烫和屯屯屯

微较的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;
}
相关推荐
第七序章40 分钟前
【C++STL】list的详细用法和底层实现
c语言·c++·自然语言处理·list
逆小舟3 小时前
【Linux】人事档案——用户及组管理
linux·c++
风中的微尘7 小时前
39.网络流入门
开发语言·网络·c++·算法
混分巨兽龙某某8 小时前
基于Qt Creator的Serial Port串口调试助手项目(代码开源)
c++·qt creator·串口助手·serial port
小冯记录编程8 小时前
C++指针陷阱:高效背后的致命危险
开发语言·c++·visual studio
C_Liu_9 小时前
C++:类和对象(下)
开发语言·c++
coderxiaohan9 小时前
【C++】类和对象1
java·开发语言·c++
阿昭L9 小时前
MFC仿真
c++·mfc
老赵的博客11 小时前
c++ unqiue指针
java·jvm·c++
程序猿编码12 小时前
基于 Linux 内核模块的字符设备 FIFO 驱动设计与实现解析(C/C++代码实现)
linux·c语言·c++·内核模块·fifo·字符设备