下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、函數(shù)的參數(shù)不僅可以是整型、實(shí)型、字符型等數(shù)據(jù),還可以是變量的指針,它將一個(gè)變量的首地址從主調(diào)函數(shù)傳送到另一個(gè)函數(shù)中,以間接的方式,實(shí)現(xiàn)了函數(shù)間數(shù)據(jù)的雙向傳遞。譚浩強(qiáng)先生用一個(gè)簡(jiǎn)單的例子:輸入兩個(gè)整數(shù),按大小順序輸出,用函數(shù)處理,說(shuō)明了指針的這類應(yīng)用。 1、【例】輸入的兩個(gè)整數(shù)按大小順序輸出, 用函數(shù)處理,而且用指針類型的數(shù)據(jù)作函數(shù)參數(shù)。swap(int *p1,int *p2) int temp; temp=*p1; *p1=*p2; *p2=temp;main() int a,b;
2、160; int *pointer_1,*pointer_2; scanf("%d,%d",&a,&b); pointer_1=&a;pointer_2=&b; if(a<b) swap(pointer_1,pointer_2); printf("n%d,%dn&qu
3、ot;,a,b);對(duì)程序的說(shuō)明: swap是用戶定義的函數(shù),它的作用是交換兩個(gè)變量(a和b)的值。swap函數(shù)的形參p1、p2是指針變量。程序運(yùn)行時(shí),先執(zhí)行main函數(shù),輸入a和b的值。然后將a和b的地址分別賦給指針變量pointer_1和pointer_2,使pointer_1指向a,pointer_2指向b。 接著執(zhí)行if語(yǔ)句,由于ab,因此執(zhí)行swap函數(shù)。注意實(shí)參pointer_1和pointer_2是指針變量,在函數(shù)調(diào)用時(shí),將實(shí)參變量的值傳遞給形參變量。
4、采取的依然是“值傳遞”方式。因此虛實(shí)結(jié)合后形參p1的值為&a,p2的值為&b。這時(shí)p1和pointer_1指向變量a,p2和pointer_2指向變量b。 接著執(zhí)行執(zhí)行swap函數(shù)的函數(shù)體使*p1和*p2的值互換,也就是使a和b的值互換。函數(shù)調(diào)用結(jié)束后,p1和p2不復(fù)存在(已釋放)如圖。最后在main函數(shù)中輸出的a和b的值是已經(jīng)過(guò)交換的值。進(jìn)一步分析如下: 表面上看,由于a和b是main()的局部變量,他們的作用域就是main()的函數(shù)體,因此a,
5、b對(duì)于swap()是不可見(jiàn)的,即swap()不能對(duì)a和b賦值,也不能使用a和b中的數(shù)據(jù)進(jìn)行運(yùn)算; 但是,當(dāng)我們通過(guò)使用指針參數(shù)pointer1和pointer2,將&a、&b這2個(gè)地址從main()傳入了swap();那么,swap()通過(guò)該地址,就可以找到main()的a,b,從而使得swap()就象main()一樣,可以直接對(duì)a、b賦值,或直接用a、b中的值進(jìn)行運(yùn)算。 這樣一來(lái),主調(diào)函數(shù)main()可以存取a、b,而被調(diào)函數(shù)swap()通過(guò)傳入的地址,也可以存取a、b。我們說(shuō)a、b在main()和swap()間被共享了。 既然變量都被共享
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 采購(gòu)合同明白模板
- 不解除合同上訴狀
- 邊坡塌方合同
- 報(bào)刊征訂合同范本
- 山東省棗莊市臺(tái)兒莊區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期中考試化學(xué)試題
- 遼寧省鞍山市海城市南臺(tái)鎮(zhèn)2024-2025學(xué)年六年級(jí)上學(xué)期期末英語(yǔ)試題(含答案)
- 河南省部分學(xué)校2024-2025學(xué)年高一上學(xué)期期中考試歷史試題
- 《棉堿溶性滌綸低彈絲包芯紗本色布》
- 甘肅省武威市涼州片區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期期中考試英語(yǔ)試題(含答案無(wú)聽(tīng)力音頻及原文)
- 設(shè)計(jì)服務(wù)相關(guān)行業(yè)投資規(guī)劃報(bào)告
- 勞務(wù)合同不續(xù)期通知函
- 校園周邊安全風(fēng)險(xiǎn)評(píng)估報(bào)告
- 2024年04月山西醫(yī)科大學(xué)第二醫(yī)院招考聘用42人筆試歷年典型考題及考點(diǎn)研判與答案解析
- 印刷品退貨處理協(xié)議
- 2024年中國(guó)郵政集團(tuán)有限公司校園招聘考試試題參考答案
- 大學(xué)生生涯發(fā)展展示 (修改)
- 消防工作協(xié)作與配合總結(jié)
- 《新疆工程勘察設(shè)計(jì)計(jì)費(fèi)導(dǎo)則(2022版)》
- 歷史與當(dāng)代珠寶設(shè)計(jì)風(fēng)格的傳承與演變
- MOOC 管理學(xué)原理-東北財(cái)經(jīng)大學(xué) 中國(guó)大學(xué)慕課答案
- 單元三 注塑模具的使用(任務(wù)3 注塑模具的安裝)
評(píng)論
0/150
提交評(píng)論