不明白求解释,就是每一步是怎么搞的?怎么会向0地址写入的?
5 回答
wooviet
TA贡献6条经验 获得超5个赞
没看到这里是while(1)吗,也就是这个程序会一直循环下去,那么为什么会退出呢?
这就要看malloc()这个函数了,这是一个动态申请内存空间的函数,这里把它放在while(1)死循环里,就会一直循环申请一个字节(因为这里写的是申请一个字节)内存空间,这个函数申请的空间是在堆当中申请的,那么请问堆的空间能有多大呢?是不是迟早会被申请完?对的吧?迟早会将空间申请完,那么此时,就是我们常说的内存泄漏,最后内存分配完了,但是就会退出吗?最后会在非法访问内存时异常退出。
那么所以我们要养成好习惯,一是申请内存之后一点要检查是否申请成功,二是malloc之后,一定要free掉申请的内存。
- 5 回答
- 0 关注
- 1567 浏览
添加回答
举报
0/150
提交
取消