版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7章指針學(xué)習(xí)目標(biāo)掌握定義指針的方法,掌握指針的基本操作;掌握利用指針作為函數(shù)參數(shù)傳遞數(shù)據(jù)的方法;掌握一維數(shù)組指針和行指針的概念和應(yīng)用主要內(nèi)容指針作為函數(shù)參數(shù)7.2指針作為函數(shù)參數(shù)
指針可以作為函數(shù)的形參和實(shí)參參與函數(shù)調(diào)用。在函數(shù)調(diào)用時(shí),通過(guò)地址傳遞,把實(shí)參變量的存儲(chǔ)地址傳遞給形參變量,被調(diào)函數(shù)通過(guò)這些存儲(chǔ)地址訪(fǎng)問(wèn)實(shí)參變量,使實(shí)參變量參與函數(shù)調(diào)用。指針變量要作為函數(shù)參數(shù),必須滿(mǎn)足:在函數(shù)調(diào)用中,形式參數(shù)和實(shí)在參數(shù)在類(lèi)型,個(gè)數(shù)和順序上必須保持一致的要求:
在函數(shù)調(diào)用時(shí),如果實(shí)在參數(shù)是指針,那么函數(shù)中相應(yīng)的形式參數(shù)必須被說(shuō)明為同類(lèi)型的指針變量。
【例7-4】通過(guò)函數(shù)調(diào)用交換實(shí)參變量的值。
#include<stdio.h>voidswap(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;}
voidmain(){inta,b;printf("Pleaseinputtwointegers:\n");scanf("%d,%d",&a,&b);printf("a=%db=%d\n",a,b);swap(&a,&b);printf("Exchangeda,b:a=%d,b=%d\n",a,b);}形式參數(shù)為指針變量實(shí)在參數(shù)為指針【例7-5】從鍵盤(pán)輸入3個(gè)整數(shù),通過(guò)函數(shù)調(diào)用,同時(shí)返回這
3個(gè)整數(shù)的和與積。
#include<stdio.h>
voidf(int,int,int,int*,int*);
voidmain()
{inta,b,c,sum,mul;printf("PleaseInputThreeIntegers:\n");scanf("%d,%d,%d",&a,&b,&c);f(a,b,c,&sum,&mul);printf("SUM=%d
MUL=%d\n",sum,mul);}voidf(intx,inty,intz,int*p1,int*p2){*p1=x+y+z;*p2=x*y*z;}
7.4指針與函數(shù)一、指向函數(shù)的指針在C程序中定義的函數(shù),系統(tǒng)編譯時(shí)會(huì)為函數(shù)代碼分配一段連續(xù)的存儲(chǔ)空間,這段存儲(chǔ)空間的起始地址(又稱(chēng)入口地址)稱(chēng)為這個(gè)函數(shù)的指針。而函數(shù)名就代表該函數(shù)所占存儲(chǔ)空間的首地址??梢园押瘮?shù)的首地址賦給一個(gè)指向該函數(shù)的指針變量,通過(guò)該指針變量就可以調(diào)用這個(gè)函數(shù)。把這種指向函數(shù)的指針變量稱(chēng)為“函數(shù)指針變量”。函數(shù)指針變量定義的格式為:
類(lèi)型說(shuō)明符(*指針變量名)(形式參數(shù)表列);【例7-17】用函數(shù)指針變量調(diào)用函數(shù)。#include<stdio.h>
intmax(intx,inty)
{
returnx>y?x:y;
}
voidmain()
{
int(*pmax)(int,int);
inta,b,maxnum;
pmax=max;
printf("Inputtwonumbers:\n");
scanf("%d%d",&a,&b);
maxnum=(*pmax)(a,b);
printf("maxnum=%d\n",maxnum);
}二、指針函數(shù)如果函數(shù)的返回值是一個(gè)地址(指針),稱(chēng)這樣的函數(shù)為指針函數(shù)。
指針函數(shù)定義格式:類(lèi)型說(shuō)明符*函數(shù)名(形參表){
語(yǔ)句;
}
說(shuō)明:格式中的類(lèi)型說(shuō)明符表明函數(shù)返回的指針?biāo)赶虻臄?shù)據(jù)類(lèi)型。【例7-18】編一個(gè)函數(shù),用以求數(shù)組中最小元素,并返回指向該元素的指針。
int*getmin(int*,int);main(){int*p,a[]={6,4,85,1,82,12,66,32,22,211};p=getmin(a,10);printf("Theminimumvalueis:%d\n",*p);}int*getmin(int*parr,intn){int*pmin=parr,*pp;
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年農(nóng)學(xué)(作物栽培學(xué)與耕作學(xué))綜合測(cè)試題及答案
- 2026學(xué)年六年級(jí)數(shù)學(xué)第二學(xué)期期末綜合測(cè)試卷(有答案)
- 醫(yī)療招聘模擬考卷及參考答案
- 6年級(jí)上冊(cè)語(yǔ)文《暑假課前預(yù)習(xí)(答案)》26秋
- 宣傳思想文化隊(duì)伍建設(shè)情況調(diào)研報(bào)告(3篇)
- 教師招聘結(jié)構(gòu)化面試基礎(chǔ)試題及答案
- 五年級(jí)下冊(cè)數(shù)學(xué)北師大含答案 郵票的張數(shù)
- 手足口病問(wèn)答試題及參考答案
- 新疆生產(chǎn)建設(shè)兵團(tuán)第三師圖木舒克市第一中學(xué)2025-2026學(xué)年高二上學(xué)期期末考試地理試卷(含答案)
- 湖工院《機(jī)械設(shè)計(jì)基礎(chǔ)》教學(xué)大綱
- 松下微波爐NN-DS581M使用說(shuō)明書(shū)
- 電力交易員中級(jí)考試題庫(kù)
- 膽石癥中西醫(yī)結(jié)合診療專(zhuān)家共識(shí)(2025年)解讀 4
- 公務(wù)攝影培訓(xùn)課件下載
- 快遞驛站可行性研究報(bào)告
- 2025年寧夏黃河出版?zhèn)髅郊瘓F(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 國(guó)家職業(yè)技能標(biāo)準(zhǔn)-動(dòng)物疫病防治員2020年版-20211027001
- 信息技術(shù)必修一《數(shù)據(jù)與計(jì)算》第一章第一節(jié)《數(shù)據(jù)、信息與知識(shí)》教案
- 一《歸園田居(其一)》公開(kāi)課一等獎(jiǎng)創(chuàng)新教案設(shè)計(jì)中職語(yǔ)文高教版(2023-2024)基礎(chǔ)模塊下冊(cè)
- 雅馬哈RX-V365使用說(shuō)明書(shū)
- T-CRHA 046-2024 標(biāo)準(zhǔn)手術(shù)體位安置技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論