資源描述:
《c 語(yǔ)言中的指針和內(nèi)存泄漏》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、C語(yǔ)言中的指針和內(nèi)存泄漏日期:2006-11-21 作者:ManishVirmani 來(lái)自:IBMDW中國(guó)在使用C語(yǔ)言時(shí),您是否對(duì)花時(shí)間調(diào)試指針和內(nèi)存泄漏問題感到厭倦?如是這樣,那么本文就適合您。您將了解可能導(dǎo)致內(nèi)存破壞的指針操作類型,您還將研究一些場(chǎng)景,了解要在使用動(dòng)態(tài)內(nèi)存分配時(shí)考慮什么問題。引言對(duì)于任何使用C語(yǔ)言的人,如果問他們C語(yǔ)言的最大煩惱是什么,其中許多人可能會(huì)回答說(shuō)是指針和內(nèi)存泄漏。這些的確是消耗了開發(fā)人員大多數(shù)調(diào)試時(shí)間的事項(xiàng)。指針和內(nèi)存泄漏對(duì)某些開發(fā)人員來(lái)說(shuō)似乎令人畏懼,但是一旦您了解了指針及其關(guān)聯(lián)內(nèi)存操作的基礎(chǔ),它們就是您在C語(yǔ)言中擁有的最強(qiáng)大工具。
2、本文將與您分享開發(fā)人員在開始使用指針來(lái)編程前應(yīng)該知道的秘密。本文內(nèi)容包括:·導(dǎo)致內(nèi)存破壞的指針操作類型·在使用動(dòng)態(tài)內(nèi)存分配時(shí)必須考慮的檢查點(diǎn)·導(dǎo)致內(nèi)存泄漏的場(chǎng)景如果您預(yù)先知道什么地方可能出錯(cuò),那么您就能夠小心避免陷阱,并消除大多數(shù)與指針和內(nèi)存相關(guān)的問題。什么地方可能出錯(cuò)?有幾種問題場(chǎng)景可能會(huì)出現(xiàn),從而可能在完成生成后導(dǎo)致問題。在處理指針時(shí),您可以使用本文中的信息來(lái)避免許多問題。<1>未初始化的內(nèi)存在本例中,p已被分配了10個(gè)字節(jié)。這10個(gè)字節(jié)可能包含垃圾數(shù)據(jù),如圖1所示。char*p=malloc(10);圖1.垃圾數(shù)據(jù)如果在對(duì)這個(gè)p賦值前,某個(gè)代碼段嘗試訪問它,則
3、可能會(huì)獲得垃圾值,您的程序可能具有不可預(yù)測(cè)的行為。p可能具有您的程序從未曾預(yù)料到的值。良好的實(shí)踐是始終結(jié)合使用memset和malloc,或者使用calloc。char*p=malloc(10);memset(p,’