版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2022-6-30 整型值整型值整型變量整型變量a整型變量地址整型變量地址一級(jí)指針變量一級(jí)指針變量pa一級(jí)指針變量地址一級(jí)指針變量地址二級(jí)指針變量二級(jí)指針變量ppa2022-6-3010a&apa&pappa2022-6-30運(yùn)行情況如下:X= 6.60= 6.60= 6.6022006.6 x28002200 p50002800 pp2022-6-302022-6-30 如果一個(gè)函數(shù)的返回值是指針,則稱(chēng)此函數(shù)如果一個(gè)函數(shù)的返回值是指針,則稱(chēng)此函數(shù)為為指針型函數(shù)指針型函數(shù)。 2022-6-30#include int *max ( int *i , int *j ) /* 定義
2、指針型函數(shù),其形參為兩個(gè)指針變量定義指針型函數(shù),其形參為兩個(gè)指針變量 */if ( *i*j ) return i; else return j;void main( )int a,b,*p; printf(Enter two integer numbers:);scanf(%d%d,&a,&b); p=max ( &a,&b ); /* 調(diào)用指針型函數(shù),返回調(diào)用指針型函數(shù),返回值為指針值為指針 */ printf(max=%dn,*p);運(yùn)行情況如下:Enter two integer numbers:12 2max=122022-6-30返回被調(diào)函數(shù)局部變返
3、回被調(diào)函數(shù)局部變量的指針,可能會(huì)出量的指針,可能會(huì)出現(xiàn)問(wèn)題?,F(xiàn)問(wèn)題。 2022-6-30 int (*pf)( ); /* 定義定義int型函數(shù)指針型函數(shù)指針pf */ int fun(int x ); /* 聲明聲明int型函數(shù)型函數(shù)fun( ) */ pf=fun; /* 給函數(shù)指針給函數(shù)指針pf賦值,使賦值,使pf指向指針型函數(shù)指向指針型函數(shù)fun( ) */2022-6-30 int (*pf)( ); /* 定義定義int型函數(shù)指針型函數(shù)指針pf */ int fun(int x ); /* 聲明聲明int型函數(shù)型函數(shù)fun( ) */ pf=fun; /* 給函數(shù)指針給函數(shù)指針pf
4、賦值,使賦值,使pf指向指針型函數(shù)指向指針型函數(shù)fun( ) */通過(guò)改變指針變量的內(nèi)容,一個(gè)指針變通過(guò)改變指針變量的內(nèi)容,一個(gè)指針變量可以先后指向同類(lèi)型的不同函數(shù),實(shí)量可以先后指向同類(lèi)型的不同函數(shù),實(shí)現(xiàn)對(duì)不同函數(shù)的調(diào)用?,F(xiàn)對(duì)不同函數(shù)的調(diào)用。在給函數(shù)指針賦值時(shí),只須給出函數(shù)名在給函數(shù)指針賦值時(shí),只須給出函數(shù)名而不必給出參數(shù)而不必給出參數(shù)2022-6-302022-6-30例如,若有函數(shù)例如,若有函數(shù)int f1(int x,int y) 和和int f2(char ch),則:則:int (*fs)( );fs=f1; /* fs指向函數(shù)指向函數(shù)f1( ) */x=(*fs)(a,b); /*
5、 相當(dāng)于相當(dāng)于x=f1(a,b); */fs=f2; /* 改變改變fs內(nèi)容,使內(nèi)容,使fs指向函數(shù)指向函數(shù)f2( ) */y=(*fs)(str); /* 相當(dāng)于相當(dāng)于y=f2(str); */函數(shù)指針變量中存有被調(diào)函數(shù)的首地址;函數(shù)指針變量中存有被調(diào)函數(shù)的首地址;調(diào)用時(shí)調(diào)用時(shí)“*函數(shù)指針變量名函數(shù)指針變量名”必須用圓括號(hào)括必須用圓括號(hào)括起來(lái),表示對(duì)函數(shù)指針做間接存取運(yùn)算。起來(lái),表示對(duì)函數(shù)指針做間接存取運(yùn)算。它它的作用等價(jià)于用函數(shù)名調(diào)用函數(shù)的作用等價(jià)于用函數(shù)名調(diào)用函數(shù),此外實(shí)參,此外實(shí)參表也應(yīng)與函數(shù)的形參表一一對(duì)應(yīng)。表也應(yīng)與函數(shù)的形參表一一對(duì)應(yīng)。2022-6-302022-6-30arr_a
6、dd(int arr ,int n ) int i,sum=0; for(i=0;in;i+) sum=sum+arri; return(sum);運(yùn)行情況如下:total1=144total2=1442022-6-302022-6-30void process(int *x,int n,int (*fun)( ) /* 形參形參fun為函數(shù)指針為函數(shù)指針 */ int result; result=(*fun)(x,n); /* 以函數(shù)指針以函數(shù)指針fun實(shí)現(xiàn)同類(lèi)型相關(guān)函數(shù)的調(diào)用實(shí)現(xiàn)同類(lèi)型相關(guān)函數(shù)的調(diào)用 */ printf(%dn,result); arr_max(int x ,int n)
7、 int max=x0,k; for(k=1;kn;k+) if (maxxk) max=xk; return (max); 2022-6-30arr_min(int x ,int n) int min=x0,k; for(k=1;kxk) min=xk; return (min); arr_sum(int x ,int n) int sum=0,k; for(k=0;kn;k+) sum+=xk; return (sum); void main( ) int aN= 10,25,33,15,27,choice; printf(Please input your choice:); scanf
8、 (%d,&choice);switch(choice)case 1: printf(max=); process (a,N,arr_max); break;/* 調(diào)用調(diào)用process ( )求求a數(shù)組中最大值,以函數(shù)名數(shù)組中最大值,以函數(shù)名arr_max為實(shí)參為實(shí)參 */ case 2: printf(min=); process (a,N,arr_min); break; /* 調(diào)用調(diào)用process ( )求求a數(shù)組中最小值,以函數(shù)名數(shù)組中最小值,以函數(shù)名arr_min為實(shí)參為實(shí)參 */ case 3:printf(sum=); process (a,N,arr_sum); b
9、reak; /* 調(diào)用調(diào)用process ( )求求a數(shù)組中元素值和,以函數(shù)名數(shù)組中元素值和,以函數(shù)名arr_sum為實(shí)參為實(shí)參 */ 2022-6-30運(yùn)行情況如下:Please input your choice:1max=33再次運(yùn)行:Please input your choice:2min=10再次運(yùn)行:Please input your choice:3sum=1102022-6-30main函數(shù)只能有兩個(gè)形參,并且這兩個(gè)形參的函數(shù)只能有兩個(gè)形參,并且這兩個(gè)形參的 類(lèi)型也是固定的。第一個(gè)形參必須是整型變量,類(lèi)型也是固定的。第一個(gè)形參必須是整型變量, 第二個(gè)形參可以定義為字符型指針數(shù)
10、組,也可以第二個(gè)形參可以定義為字符型指針數(shù)組,也可以 定義為二級(jí)字符指針變量,因此也可以寫(xiě)成定義為二級(jí)字符指針變量,因此也可以寫(xiě)成 main(int argc, char *argv)2022-6-302022-6-302022-6-30 #include void main(int argc, char *argv )if(argc=1)printf(“The content in argv0 is :%s”,argv0);if(argc=2)printf(“The command include %d parameter:”,argc-1);printf(“%s”,argv1);print
11、f(nThe content in argv0 is :%s,argv0);if(argc=3)printf(nThe command include %d parameter:,argc-1);printf(%s%s,argv1,argv2);if(argc3)printf(Bad command!);2022-6-30 注意注意: : 命令行參數(shù)所傳送的數(shù)據(jù)全部都是字符命令行參數(shù)所傳送的數(shù)據(jù)全部都是字符串。即便傳送的是數(shù)值,也是按字符串方式傳送串。即便傳送的是數(shù)值,也是按字符串方式傳送給主函數(shù)。程序中使用這些參數(shù)時(shí),還需要將數(shù)給主函數(shù)。程序中使用這些參數(shù)時(shí),還需要將數(shù)字字符串轉(zhuǎn)換成數(shù)值型數(shù)據(jù)。字字符串轉(zhuǎn)換成數(shù)值型數(shù)據(jù)。C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)提供了一些相關(guān)的數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)提供了一些相關(guān)的數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù) 。運(yùn)行情況如下:C:cppVCDebug cprogThe content in argv0 is : cprog第二次運(yùn)行:C:cppVCDebug cprog oneThe command include1 parame
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 造紙助劑建設(shè)項(xiàng)目可行性研究報(bào)告申請(qǐng)立項(xiàng)備案
- 2025年度消防協(xié)會(huì)與XX保險(xiǎn)公司火災(zāi)保險(xiǎn)理賠合作框架協(xié)議2篇
- 2025年度砂石廠員工勞動(dòng)爭(zhēng)議處理合同3篇
- 二零二五年度寶雞市房地產(chǎn)維修基金管理合同范本3篇
- 二零二五年度婚姻解除條件協(xié)議書(shū)模板及子女撫養(yǎng)權(quán)爭(zhēng)議解決12篇
- 二零二五年度店面房租賃與物業(yè)管理合同3篇
- 百年風(fēng)流人物:曾國(guó)藩(四川大學(xué))學(xué)習(xí)通測(cè)試及答案
- 2025年度煤礦自卸車(chē)購(gòu)置、運(yùn)輸及保險(xiǎn)服務(wù)合同6篇
- 2025年度河砂應(yīng)用于農(nóng)田水利建設(shè)購(gòu)銷(xiāo)合同3篇
- 江西省吉安市2023-2024學(xué)年高一上學(xué)期1月期末考試政治試題(解析版)
- 國(guó)內(nèi)外航空安全形勢(shì)
- 零售業(yè)發(fā)展現(xiàn)狀與面臨的挑戰(zhàn)
- 2024年版汽車(chē)4S店商用物業(yè)租賃協(xié)議版B版
- 《微觀經(jīng)濟(jì)學(xué)》習(xí)題(含選擇題)
- 2025七年級(jí)下道德與法治教學(xué)工作計(jì)劃
- 微信小程序云開(kāi)發(fā)(赤峰應(yīng)用技術(shù)職業(yè)學(xué)院)知到智慧樹(shù)答案
- 2024-2025學(xué)年上學(xué)期福建高二物理期末卷2
- 2024-2025年第一學(xué)期小學(xué)德育工作總結(jié):點(diǎn)亮德育燈塔引領(lǐng)小學(xué)生全面成長(zhǎng)的逐夢(mèng)之旅
- 2024四川阿壩州事業(yè)單位和州直機(jī)關(guān)招聘691人歷年管理單位遴選500模擬題附帶答案詳解
- 麻醉科工作計(jì)劃
評(píng)論
0/150
提交評(píng)論