关于C语言指针问题

这是的里打印的汉字是什么原因 “乱码”
这里是野指针,按理说应该会出现错误,但是却能编译成功,但打印的汉字是汉字,理解不到其中的原理

4个回答

汉子乱码是你终端配置的问题,和程序无关
关于乱码的解决看这个:http://jingyan.baidu.com/article/22a299b51e7cd89e19376ad3.html

qq_37362700
qq_37362700 回复小邓在路上: qt5.8MinWg编译器的,我改成GBK编码汉字能正常显示,但明明存在野指针还是能正常编译,不能通过
接近 3 年之前 回复
u010136832
小邓在路上 回复qq_37362700: 你用的什么IDE
接近 3 年之前 回复
qq_37362700
qq_37362700 我看我的编码是utf-8是中文编码的,打印确是乱码
接近 3 年之前 回复

用的qt5.8,打印的汉字乱码,明明内存泄漏,却能”正常“编译,打印还是乱码

图片说明

麻烦看下

qq_37362700
qq_37362700 内存释放掉了,还能指向另一个内存,这个行的通吗
接近 3 年之前 回复
qq_37362700
qq_37362700 回复小邓在路上: 帮我再看看下面的,又遇到麻烦了,谢谢
接近 3 年之前 回复
u010136832
小邓在路上 回复qq_37362700: 所以好的习惯很重要
接近 3 年之前 回复
u010136832
小邓在路上 回复qq_37362700: free只保证当前指针指向的地址被释放,别人可以使用,但是内存还是在那里,你不去擦除,内容永远都在那里,
接近 3 年之前 回复
qq_37362700
qq_37362700 回复卖太妃糖的古尔丹: 也就是说这次我“运气好”才运行正常?
接近 3 年之前 回复
qq_34658785
卖太妃糖的古尔丹 兄弟,野指针在没有用野指针做一些操作的时候,是不会影响程序的,野指针的意思是你把内存释放掉,但是没有把指针设置为NULL,这样的话指针还指向那个地址,但是那个地址里已经不是你的期望值了,有可能是垃圾值,有可能被存储别的数据,从而导致出现逻辑上的错误,又不会让你的程序崩溃,在C语言里是这样的,很多东西要自己处理,不 像java这种
接近 3 年之前 回复

图片说明

这个程序怎么挂掉了
释放内存后,p重新指向 变量c ,理论上应该是正确的,是什么原因导致的呢?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问