課程
/后端開發(fā)
/C++
/C++遠(yuǎn)征之離港篇
C語言用指針傳參是為了節(jié)約內(nèi)存,那么傳參有何優(yōu)勢呢?少寫幾個(gè)*號嗎?
2018-08-11
源自:C++遠(yuǎn)征之離港篇 2-1
正在回答
用指針傳參是傳址,比用值傳參效率更高,也更節(jié)約內(nèi)存。例如一個(gè)函數(shù)需要傳入一個(gè)結(jié)構(gòu)體對象,用某個(gè)指針指向要傳入的結(jié)構(gòu)體作為函數(shù)實(shí)參,則傳入的指針是一個(gè)地址,如果地址是int型則只占用8bit內(nèi)存,如果用結(jié)構(gòu)體對象實(shí)例傳值作為實(shí)參,所傳數(shù)據(jù)的大小是該結(jié)構(gòu)體所有成員大小之和,比一個(gè)地址所占用的內(nèi)存大得多,所以用指針傳參既節(jié)約了內(nèi)存,又提升了函數(shù)運(yùn)行的效率。
舉報(bào)
C++掃清通往面向?qū)ο蟮淖詈笠坏勒系K,將所有知識點(diǎn)融會貫通
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-08-11
用指針傳參是傳址,比用值傳參效率更高,也更節(jié)約內(nèi)存。例如一個(gè)函數(shù)需要傳入一個(gè)結(jié)構(gòu)體對象,用某個(gè)指針指向要傳入的結(jié)構(gòu)體作為函數(shù)實(shí)參,則傳入的指針是一個(gè)地址,如果地址是int型則只占用8bit內(nèi)存,如果用結(jié)構(gòu)體對象實(shí)例傳值作為實(shí)參,所傳數(shù)據(jù)的大小是該結(jié)構(gòu)體所有成員大小之和,比一個(gè)地址所占用的內(nèi)存大得多,所以用指針傳參既節(jié)約了內(nèi)存,又提升了函數(shù)運(yùn)行的效率。