Visual Studio中,未初始化的栈空间用0xCC填充,而未初始化的堆空间用0xCD填充。
而0xCCCC和0xCDCD在中文GB2312编码中分别对应“烫”字和“屯”字。
如果一个字符串没有结束符'\0',输出时就会打印出未初始化的栈或堆空间的内容,这就是大名鼎鼎的“烫烫烫”、“屯屯屯”乱码。
“烫”字和“屯”字的原因
最新推荐文章于 2022-03-24 21:45:08 发布
Visual Studio中,未初始化的栈空间用0xCC填充,而未初始化的堆空间用0xCD填充。
而0xCCCC和0xCDCD在中文GB2312编码中分别对应“烫”字和“屯”字。
如果一个字符串没有结束符'\0',输出时就会打印出未初始化的栈或堆空间的内容,这就是大名鼎鼎的“烫烫烫”、“屯屯屯”乱码。