一時(shí)看不明白你的代碼。一個(gè)原則是,start指向了誰(shuí)。如果指向了在這個(gè)函數(shù)中定義的臨時(shí)自動(dòng)型數(shù)組,那必然存在返回局部數(shù)組指針的問(wèn)題,就是你說(shuō)的內(nèi)存釋放問(wèn)題。這樣雖然指針被返回了,但它指向的內(nèi)容已經(jīng)不受代碼控制了,很危險(xiǎn)。但如果start指向的是在主函數(shù)中聲明的數(shù)組,或是全局或靜態(tài)數(shù)組(這個(gè)函數(shù)中定義的靜態(tài)數(shù)組也行),或者是用動(dòng)態(tài)分配法獲得的內(nèi)存空間且未曾釋放,則不存在任何問(wèn)題,是完全合理合法的。用動(dòng)態(tài)分配法時(shí)要注意在不用時(shí)釋放內(nèi)存空間,以免造成內(nèi)存泄漏。
為沈北新等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及沈北新網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、沈北新網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
區(qū)分內(nèi)存類(lèi)型,有不同結(jié)果:
1
局部變量。
即在函數(shù)內(nèi)部定義的變量,且變量不帶static修飾。這時(shí),在退出函數(shù)后,變量自帶內(nèi)存會(huì)自動(dòng)釋放。
2
靜態(tài)變量。
函數(shù)內(nèi)部定義的帶static修飾的變量為靜態(tài)變量,這種變量在函數(shù)退出后不會(huì)釋放內(nèi)存,直到程序退出時(shí)一起釋放。
3
動(dòng)態(tài)分配內(nèi)存。
指通過(guò)malloc,calloc,zalloc等函數(shù)申請(qǐng)的內(nèi)存空間,這類(lèi)空間在退出函數(shù)后不會(huì)自動(dòng)釋放,要釋放只有通過(guò)free函數(shù)的調(diào)用,進(jìn)行內(nèi)存釋放。
釋放空間是指用“動(dòng)態(tài)申請(qǐng)內(nèi)存函數(shù)”申請(qǐng)成功的空間,不是你寫(xiě)的代碼占用的空間。你寫(xiě)的代碼的可執(zhí)行文件占用的空間要等程序完全退出后才能自動(dòng)釋放,動(dòng)態(tài)申請(qǐng)的空間在使用完畢后可以用對(duì)應(yīng)的“釋放函數(shù)”釋放,以防止所謂“內(nèi)存泄漏”——就是把內(nèi)存空間用完了,程序無(wú)法運(yùn)行下去了。如果只申請(qǐng)不釋放,積累多了就會(huì)產(chǎn)生內(nèi)存泄漏問(wèn)題;在空間申請(qǐng)得較少的情況下也不至于一定產(chǎn)生泄漏,等程序退出時(shí)也就自動(dòng)釋放了。但寫(xiě)合格的程序是不能有這種指望的,正確的做法是“申請(qǐng)——成功后使用——使用完后及時(shí)釋放。
C管理內(nèi)存大致可以理解為兩種,分配在棧上的,一個(gè)是分配在堆上的。
臨時(shí)變量,動(dòng)態(tài)變量,分配在棧上,運(yùn)行完,直接彈出棧,就沒(méi)了。
分配在堆上的內(nèi)存,釋放的時(shí)候,基本上可以理解為,指針不指這里了。也就失去了對(duì)這塊內(nèi)存的控制。其實(shí)所謂的釋放。字面意思容易讓人理解錯(cuò)。
有些機(jī)器有些操作系統(tǒng),會(huì)在釋放的時(shí)候清空這段內(nèi)存,但是這種做法效率不高,但是安全,很少有機(jī)器這么做,多數(shù)都是所謂釋放,就是不讓你控制這塊內(nèi)存了而已。
分享題目:c語(yǔ)言函數(shù)釋放內(nèi)存 c++釋放內(nèi)存函數(shù)
網(wǎng)頁(yè)網(wǎng)址:http://chinadenli.net/article20/dooheco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、ChatGPT、軟件開(kāi)發(fā)、網(wǎng)站導(dǎo)航、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)