关于烫烫烫和屯屯屯

微较的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;
}
相关推荐
“αβ”11 小时前
MySQL表的操作
linux·网络·数据库·c++·网络协议·mysql·https
十五年专注C++开发11 小时前
Asio2: 一个基于 Boost.Asio 封装的高性能网络编程库
网络·c++·boost·asio·asio2
gcfer11 小时前
CS144 中的C++知识积累
c++·右值引用·智能指针·optional容器
Bona Sun12 小时前
单片机手搓掌上游戏机(二十)—pico运行doom之编译环境
c语言·c++·单片机·游戏机
Albert Edison13 小时前
【项目设计】C++ 高并发内存池
数据结构·c++·单例模式·哈希算法·高并发
我真不会起名字啊13 小时前
C、C++中的sprintf和stringstream的使用
java·c语言·c++
猿饵块13 小时前
ros2--图像/image
c++
威桑15 小时前
LLVM (Low Level Virtual Machine)全景机制解析
c++·gcc·llvm
一只小bit16 小时前
Qt 快速开始:安装配置并创建简单标签展示
开发语言·前端·c++·qt·cpp
雍凉明月夜16 小时前
c++ 精学笔记记录Ⅰ
开发语言·c++·笔记