本文主要是介绍关于烫烫烫和屯屯屯,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
微较的msvc编译器,调试模式下为了方便检测内存的非法访问,对于不同的内存做了初始化,
未初始化栈: 0xCCCCCCCC
未初始化堆: 0xCDCDCDCD
已释放的堆: 0xDDDDDDDD
0xCCCC解释为GB2312字符即是烫, 0xCDCD即是屯, 0xDDDD即是葺。所以遇到此类问题时,从现象的不同可以反推出具体的内存错误类型。
#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;
}
这篇关于关于烫烫烫和屯屯屯的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!