版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
函數(shù)間數(shù)據(jù)傳遞方式第1頁,課件共11頁,創(chuàng)作于2023年2月函數(shù)之間的數(shù)據(jù)傳遞函數(shù)之間的邏輯聯(lián)系是通過函數(shù)調(diào)用實(shí)現(xiàn)的,在函數(shù)調(diào)用過程中,函數(shù)之間的數(shù)據(jù)聯(lián)系則是由函數(shù)間的數(shù)據(jù)傳遞建立的。在C語言中,函數(shù)間數(shù)據(jù)傳遞有3種方式:
★參數(shù)傳遞
★函數(shù)返回值
★全局變量第2頁,課件共11頁,創(chuàng)作于2023年2月參數(shù)傳遞函數(shù)間參數(shù)傳遞是指把變量或常量的有關(guān)信息傳遞給函數(shù),而傳遞的過程發(fā)生在函數(shù)調(diào)用期間函數(shù)間參數(shù)傳遞的數(shù)據(jù)類型可以是變量、數(shù)組、指針、結(jié)構(gòu)以及函數(shù)等在函數(shù)調(diào)用時(shí),實(shí)參和形參不是靠名稱相同來傳遞數(shù)據(jù),而是靠對(duì)應(yīng)位置來傳遞數(shù)據(jù),這就要求形參和實(shí)參在數(shù)據(jù)類型、個(gè)數(shù)和順序上一一對(duì)應(yīng)函數(shù)間傳遞參數(shù)方式有兩種:傳值與傳址第3頁,課件共11頁,創(chuàng)作于2023年2月傳值在傳值方式下,調(diào)用函數(shù)將實(shí)參的數(shù)據(jù)復(fù)制到被調(diào)用函數(shù)的形參中,使得形參取得對(duì)應(yīng)的值例:#include<stdio.h>voidswap(int,int);main(){inta,b;scanf(“%d%d”,&a,&b);printf(“a=%d,b=%d\n”,a,b);swap(a,b);
printf(“a=%d,b=%d\n”,a,b);}voidswap(intx,inty){intt;
t=x;x=y;y=t;
printf(“x=%d,y=%d\n”,x,y);}傳值調(diào)用的時(shí)候,形參跟實(shí)參各自占用自己的存儲(chǔ)空間,當(dāng)形參發(fā)生改變時(shí),不會(huì)影響實(shí)參的值。當(dāng)調(diào)用結(jié)束時(shí),程序返回調(diào)用函數(shù),形參的存儲(chǔ)單元就被撤銷。傳值法的最大特點(diǎn)是實(shí)參和形參占有不同的存儲(chǔ)單元,形參只能復(fù)制實(shí)參的值而不能改變實(shí)參的值,這對(duì)隱藏?cái)?shù)據(jù)特別有利第4頁,課件共11頁,創(chuàng)作于2023年2月傳址在傳址的方式下,調(diào)用函數(shù)將實(shí)參的地址復(fù)制到對(duì)應(yīng)的參數(shù)中去,形參通過地址讀取實(shí)參的數(shù)據(jù)。由于實(shí)參和形參指向同一地址,因而共享同一存儲(chǔ)單元中的數(shù)據(jù)。傳值方式就是通過指針進(jìn)行傳遞。例:#include<stdio.h>voidswap(int*,int*);main(){inta,b;scanf(“%d%d”,&a,&b);printf(“a=%d,b=%d\n”,a,b);swap(&a,&b);
printf(“a=%d,b=%d\n”,a,b);}voidswap(int*x,int*y){intt;
t=*x;*x=*y;*y=t;
printf(“x=%d,y=%d\n”,*x,*y);}ab&a&bxy傳址是將實(shí)參地址傳給形參,當(dāng)形參地址所指的值發(fā)生改變時(shí),實(shí)際就是實(shí)參對(duì)應(yīng)地址所指的值發(fā)生了改變。當(dāng)被調(diào)用函數(shù)執(zhí)行完了之后,形參也會(huì)被撤銷掉。
傳址最大特點(diǎn)就是被調(diào)用函數(shù)的形參所指向的變量就是調(diào)用函數(shù)中的變量。第5頁,課件共11頁,創(chuàng)作于2023年2月形參與實(shí)參類型對(duì)于形參和實(shí)參在傳遞時(shí),需要注意參數(shù)類型的對(duì)應(yīng)總體原則是形參與實(shí)參的數(shù)據(jù)類型要一致,具體對(duì)應(yīng)類型參考書上P193的表10-1例題:輸入10個(gè)整數(shù),編寫一個(gè)函數(shù),返回這10個(gè)整數(shù)的平均值第6頁,課件共11頁,創(chuàng)作于2023年2月參數(shù)傳遞使用數(shù)組名作函數(shù)參數(shù),即使在定義形參的時(shí)候定義為“inta[10]”類似的形式,但編譯系統(tǒng)并不單獨(dú)開辟存儲(chǔ)區(qū)存放形參數(shù)組,實(shí)參不是把值一個(gè)一個(gè)傳給形參,而是把實(shí)參數(shù)組的起始地址傳給形參。這樣,形參數(shù)組與實(shí)參數(shù)組共享存儲(chǔ)空間,當(dāng)形參數(shù)組中元素值發(fā)生變化時(shí),實(shí)參數(shù)組的值也會(huì)發(fā)生變化。編譯系統(tǒng)不對(duì)形參數(shù)組大小作檢查,因此一維數(shù)組可以不指定大小,數(shù)組名后直接跟個(gè)空的方括號(hào),數(shù)組的元素個(gè)數(shù)可以用其他參數(shù)來傳遞。二維數(shù)組名也可以做實(shí)參和形參,在定義形參時(shí),可以將二維數(shù)組的第一維大小省略。例如:
intmax(intb[][5])第7頁,課件共11頁,創(chuàng)作于2023年2月參數(shù)傳遞例題:最長(zhǎng)相似字符串
輸入2個(gè)字符串(每個(gè)字符串長(zhǎng)度不超過255),從第一個(gè)字符開始對(duì)比兩個(gè)字符串,檢查下兩個(gè)字符串相同位置上的連續(xù)字符串最長(zhǎng)長(zhǎng)度是多少。例如字符串“student”和字符串“study”,兩者最長(zhǎng)相似字符串長(zhǎng)度為4,字符串“welcometousaco”和字符串“forcomedtousaco”的最長(zhǎng)相似字符串長(zhǎng)度是8第8頁,課件共11頁,創(chuàng)作于2023年2月函數(shù)返回值對(duì)于函數(shù)的返回值類型,可以是整型、實(shí)型、字符型,也可以是指針類型,即返回1個(gè)地址。當(dāng)函數(shù)返回值是地址時(shí),稱該函數(shù)是指針函數(shù)指針函數(shù)類型定義:
數(shù)據(jù)類型*函數(shù)名(形參表)
{函數(shù)體;}第9頁,課件共11頁,創(chuàng)作于2023年2月函數(shù)返回值例題:截取字符串
給定一個(gè)字符串(長(zhǎng)度小于255),指定兩個(gè)整數(shù)m和n,從給定的字符串中截取出從第m個(gè)字符開始連續(xù)n個(gè)字符,作為1個(gè)新的字符串輸出。例如給定字符串為“informationsystem”,m值為6,n值為6,則截取出來的新字符串為“mation”第10頁,課件共11頁,創(chuàng)作于2023年2月練習(xí)書P214的第5題(1.c/1.in/1.out)輸入2行整數(shù),每行有5個(gè)整數(shù),將兩行整數(shù)對(duì)應(yīng)位置的數(shù)進(jìn)行比較,如果上1行的某個(gè)位置值比下1行對(duì)應(yīng)位置上的值大或者相等,則輸出“+”,否則輸出“-”,注意,輸出結(jié)果總共有5個(gè)“+”號(hào)和“-”號(hào),每個(gè)符號(hào)中間用1個(gè)空格隔開。例如輸入“1123579”和“77132189”,則輸出“-+--+”.(2.c/2.in/2.out)查找最長(zhǎng)‘*’號(hào)串:有一串字符串,里面有一些‘*’號(hào),定義從某個(gè)‘*’號(hào)開始到下一個(gè)‘*’出現(xiàn)之前或者字符串尾,中間字符串的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 32974-2024鋼鐵行業(yè)蓄熱式工業(yè)爐窯熱平衡測(cè)試與計(jì)算方法
- 土木工程實(shí)習(xí)心得
- 辦公樓租賃意向書
- 高考數(shù)學(xué)復(fù)習(xí)解答題提高第一輪專題復(fù)習(xí)專題05圓錐曲線中的向量問題(典型題型歸類訓(xùn)練)(學(xué)生版+解析)
- 國(guó)開人工智能專題形考1-3題庫(kù)8及答案
- 常用歇后語模板范例
- 高中英語語法精講精練
- 《學(xué)前兒童衛(wèi)生保健》 課件 1.2.4 幼兒淋巴系統(tǒng)的特點(diǎn)及衛(wèi)生保健
- 第4章 消費(fèi)者的注意、感覺與知覺課件
- 抖音直播帶貨如何投流下
- 2023年會(huì)計(jì)職稱初級(jí)會(huì)計(jì)實(shí)務(wù)試題及答案
- 全面推進(jìn)依法治國(guó)學(xué)習(xí)解讀專題課件
- 走進(jìn)意象藝術(shù)課件
- 靜電屏蔽課件
- 材料化學(xué)第7章-無機(jī)非金屬材料課件
- 小學(xué)數(shù)學(xué)課堂中有效提問的教學(xué)策略課件
- 河北單招第三大類復(fù)習(xí)題
- 第三單元單元教學(xué)設(shè)計(jì)+學(xué)年統(tǒng)編版高中語文選擇性必修上冊(cè)
- 內(nèi)科學(xué)課件:皮質(zhì)醇增多癥
- ds-6904ud解碼器說明書
- 大象版五年級(jí)科學(xué)上冊(cè) 《生活習(xí)慣與健康》教育教學(xué)課件
評(píng)論
0/150
提交評(píng)論