C語言的函數(shù)譽(yù)皮掘定握肆義格式是:
創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的羅山網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
函數(shù)類型 函數(shù)名稱 ( 參數(shù)列表 )
{
//函數(shù)體
}
函數(shù)聲明,慶核不是說明的格式是“函數(shù)定義格式”的第一行,然后加 “;”,即:
函數(shù)類型 函數(shù)名稱 ( 參數(shù)列表 );
特別地,在函數(shù)聲明中的參數(shù)列表中,不需要給出具體的變量名稱,但必須給出每個(gè)變量的類型。
在C語言中,形參即為形式參數(shù)。它在整個(gè)函數(shù)編譯的時(shí)候,沒有實(shí)際的數(shù)據(jù)賦于它,僅僅作于定滑派握義某個(gè)函數(shù)或信慶者函數(shù)名。
而實(shí)參既為實(shí)際參數(shù)。顧名思義,在函數(shù)中,有一個(gè)特定的數(shù)據(jù)賦值給它,可以作于羨銷在函數(shù)中進(jìn)行運(yùn)算。
比如:
void
main()
{
int
a=1,b;
b=function(a);
//a作于在函數(shù)中進(jìn)行運(yùn)算,是實(shí)參
}
int
function(int
c)
//c作于定義function函數(shù),是形參
{}
函數(shù)是用戶與程序的接口,在定義一個(gè)函數(shù)前,首先要清楚以下三個(gè)問題。1) 函數(shù)的功能實(shí)現(xiàn)及算法選擇。算法選擇會(huì)在后續(xù)文章詳細(xì)講解,本節(jié)重點(diǎn)關(guān)注函數(shù)的功能實(shí)現(xiàn)。一般選取能體現(xiàn)函數(shù)功能的函數(shù)名,且見名知意,如求和函數(shù)的函數(shù)名可取為 add,求最芹基虧大值的函數(shù)名可取為 max,排序函數(shù)可取名為 sort 等。2) 需要用戶傳給該函數(shù)哪些參數(shù)、什么類型,即函數(shù)參數(shù)。3) 函數(shù)執(zhí)行完后返回給調(diào)用者的參數(shù)及類型,即函數(shù)返回值類型。 函教定義格式 函數(shù)定義的一般格式為: 返回類型 函數(shù)名 (類型參數(shù)1,類型參數(shù)2,…) {函數(shù)體 }也可以不含參數(shù),不含參數(shù)時(shí),參數(shù)表中可寫關(guān)鍵字 void 或省略,為規(guī)范起見,教程中對(duì)沒有參數(shù)的函數(shù)鋒隱,參數(shù)表中統(tǒng)一寫 void。例如: 類型 函數(shù)名 () {函數(shù)體 }等價(jià)于: 類型 函數(shù)名 (void) //建議的書寫方式 {函數(shù)體 } 如果該函數(shù)沒有返回類型,則為 void 類型。例如: void add (int x,int y) {printf ("sum=%d\n", x+y); } 除了 void 類型外,在函數(shù)體中,均需要顯式使用 return 語句返回對(duì)應(yīng)的表達(dá)式的值。 函教返回值 函數(shù)的值是指調(diào)用函數(shù)結(jié)束時(shí),執(zhí)行函數(shù)體所得并返回給主調(diào)函數(shù)的值。 關(guān)于函數(shù)返回值說明如下。1) 帶返回值的函數(shù),其值一般使用 return 語句返回給調(diào)用者。其格式為: return 表達(dá)式;或者 return (表達(dá)式);例如: int add (int a, int b) {return (a + b); //return 后為表達(dá)式 } 函數(shù)可以含一個(gè)或多個(gè) return 語句,但每次調(diào)用時(shí)只能執(zhí)行其中一個(gè) return 語句。例如,求整數(shù)絕對(duì)值嫌神的函數(shù): int f (int n) //含多個(gè)return語句,但每次調(diào)用只執(zhí)行一個(gè) {if (n = 0)return n;elsereturn -n; }
不知道函數(shù)調(diào)用原理的話,很難說得清楚的。粗略的說在C中函數(shù)其實(shí)是分成三個(gè)部分,分別是聲明、實(shí)現(xiàn)和使用。聲明就是告訴C有這么個(gè)函數(shù),實(shí)現(xiàn)就是這個(gè)函數(shù)的完整代碼,使用則是調(diào)用這個(gè)函數(shù)幫你做運(yùn)算或者是做事情。為了讓函數(shù)能做更多的事情,就需要一種方法能向函數(shù)傳遞性息,最可靠、最方便的方法就是參數(shù)傳遞,C就是這樣做的。參數(shù)傳遞也不是簡單的一件事情,首先在調(diào)用者和被調(diào)用者之間得有個(gè)約定,大家約定好了參數(shù)放什么地方,如何使用,這個(gè)就稱為調(diào)用約定。現(xiàn)在我們回過頭來看什么叫實(shí)參和形參。由上面的敘述可以看到,函數(shù)其實(shí)有一定的獨(dú)立性斗兄的,參數(shù)是在調(diào)用約定下放在指定地方供函數(shù)使用的,在我衫銷扮們實(shí)現(xiàn)函數(shù)的時(shí)候,實(shí)際的參數(shù)是什么我們還不知道,但我們知道有多少參數(shù),分別是什么數(shù)據(jù)類型的和放在什么地方(順序),這個(gè)是由調(diào)用約定來保證的。我們知道的這些就是形式的或者說是邏輯的,我們?cè)趯?shí)現(xiàn)函數(shù)(編寫函數(shù)體)的時(shí)候需要給他們命名,以便使用,這些在函數(shù)實(shí)現(xiàn)的時(shí)候命名的形式上的參數(shù)就是形式參數(shù),簡稱形參。而在實(shí)際調(diào)用發(fā)生的時(shí)候,調(diào)用者會(huì)將實(shí)際的參數(shù)放在約定好了的地方,這個(gè)實(shí)際參數(shù)簡稱實(shí)參。函數(shù)被運(yùn)行的時(shí)候?qū)崊⒑托螀⑿纬闪艘灰粚?duì)應(yīng),對(duì)形參的操作就變成了對(duì)實(shí)參的操作。
對(duì)調(diào)用約定還有需要說明的就是,現(xiàn)在常用的調(diào)用約定都是傳值的,也就是說只或灶是傳遞了一個(gè)副本,這樣做的結(jié)果就是你對(duì)形參的操作不會(huì)被傳遞出來。
是否可以解決您的問題?