課程
/后端開(kāi)發(fā)
/C++
/C++遠(yuǎn)征之離港篇
為什么要申請(qǐng)內(nèi)存啊
2017-01-26
源自:C++遠(yuǎn)征之離港篇 5-1
正在回答
【如果不申請(qǐng)內(nèi)存】用char a[size]定義數(shù)組,這是系統(tǒng)在棧上申請(qǐng)的內(nèi)存,因此這個(gè)數(shù)組不能太大,否則要溢出,用完后系統(tǒng)自己釋放。這樣申請(qǐng)的數(shù)組大小必須是個(gè)常量, 所以 size 定義時(shí)候必要有const。【申請(qǐng)內(nèi)存】用int len = 100;char *a = new char[len]; 定義指針,這需要自己用new在堆上申請(qǐng)內(nèi)存,數(shù)組可以很大,用完后 delete []a;釋放。可以根據(jù)設(shè)置的變量值在程序運(yùn)行中動(dòng)態(tài)申請(qǐng)。
慕仙0520339 提問(wèn)者
舉報(bào)
C++掃清通往面向?qū)ο蟮淖詈笠坏勒系K,將所有知識(shí)點(diǎn)融會(huì)貫通
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-01-27
【如果不申請(qǐng)內(nèi)存】用char a[size]定義數(shù)組,這是系統(tǒng)在棧上申請(qǐng)的內(nèi)存,因此這個(gè)數(shù)組不能太大,否則要溢出,用完后系統(tǒng)自己釋放。這樣申請(qǐng)的數(shù)組大小必須是個(gè)常量, 所以 size 定義時(shí)候必要有const。
【申請(qǐng)內(nèi)存】用int len = 100;char *a = new char[len]; 定義指針,這需要自己用new在堆上申請(qǐng)內(nèi)存,數(shù)組可以很大,用完后 delete []a;釋放。可以根據(jù)設(shè)置的變量值在程序運(yùn)行中動(dòng)態(tài)申請(qǐng)。