亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這是什么情況

這是什么情況

C
Single丶love 2016-08-15 16:50:49
不明白求解釋,就是每一步是怎么搞的?怎么會向0地址寫入的?
查看完整描述

5 回答

?
wooviet

TA貢獻6條經驗 獲得超5個贊

沒看到這里是while(1)嗎,也就是這個程序會一直循環下去,那么為什么會退出呢?

這就要看malloc()這個函數了,這是一個動態申請內存空間的函數,這里把它放在while(1)死循環里,就會一直循環申請一個字節(因為這里寫的是申請一個字節)內存空間,這個函數申請的空間是在堆當中申請的,那么請問堆的空間能有多大呢?是不是遲早會被申請完?對的吧?遲早會將空間申請完,那么此時,就是我們常說的內存泄漏,最后內存分配完了,但是就會退出嗎?最后會在非法訪問內存時異常退出。

那么所以我們要養成好習慣,一是申請內存之后一點要檢查是否申請成功,二是malloc之后,一定要free掉申請的內存。

查看完整回答
1 反對 回復 2016-08-16
?
凌小天3635910

TA貢獻17條經驗 獲得超13個贊

malloc函數的作用是取一個空的內存,返回一個指針。這個循環可能導致無限的取內存并寫入數據0的ascii碼。最后系統內存不足而崩潰。

查看完整回答
反對 回復 2016-08-16
?
yemaa

TA貢獻77條經驗 獲得超14個贊


c++沒學過啊,看那道題你還是多研究一下malloc這個函數吧

查看完整回答
反對 回復 2016-08-16
  • 5 回答
  • 0 關注
  • 1726 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號