分兩種,一種是按值傳遞,一種是按地址傳遞,
專注于為中小企業(yè)提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)靖西免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
按值傳遞就是在子函數(shù)中開辟出一個(gè)臨時(shí)內(nèi)存空間,將傳遞的數(shù)值保存在這個(gè)空間中,當(dāng)子函數(shù)結(jié)束后,這個(gè)內(nèi)存空間就會釋放了!
按地址傳遞則是把主函數(shù)開辟的某個(gè)內(nèi)存空間首地址傳遞給子函數(shù),子函數(shù)可以直接讀寫主函數(shù)上這段內(nèi)存空間,當(dāng)子函數(shù)結(jié)束后,這部分空間不會被釋放,主函數(shù)將繼續(xù)使用這段空間!
#include?stdio.h
//---子函數(shù)聲明---//?
int?func1();
int?func2(int?(*func1)());????????//形參為函數(shù)指針(即指向函數(shù)的指針)?
//---主函數(shù)---//?
int?main(){
printf("向函數(shù)二傳遞函數(shù)一,\n即函數(shù)一作為函數(shù)二的參數(shù)。\n");
printf("%d?",func1());
printf("%d\n",func2(func1));//注意函數(shù)名即為函數(shù)地址!!!!!!?
}????????????????????????????????//實(shí)參為函數(shù)名func1或者func1,兩者等價(jià),而非func1()?
//---子函數(shù)定義---//?
int?func1(){
return?1;
}
int?func2(int?(*func1)()){????????//形參為函數(shù)指針(即指向函數(shù)的指針)
return?func1()+1;
}
C語言中函數(shù)參數(shù)傳遞的三種方式(1)傳值,就是把你的變量的值傳遞給函數(shù)的形式參數(shù),實(shí)際就是用變量的值來新生成一個(gè)形式參數(shù)
分享文章:c語言函數(shù)用參數(shù)傳遞 c語言函數(shù)參數(shù)的傳遞方式
標(biāo)題URL:http://m.kartarina.com/article0/hjjsio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、搜索引擎優(yōu)化、網(wǎng)站改版、品牌網(wǎng)站設(shè)計(jì)、關(guān)鍵詞優(yōu)化、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)