- 相關(guān)推薦
編程函數(shù)的定義之C語言
類型標(biāo)識符指明了本函數(shù)的類型,函數(shù)的類型實(shí)際上是函數(shù)返回值的類型。接下來,小編為您介紹了編程函數(shù)的定義之C語言,感謝您的閱讀!
無參函數(shù)的定義
無參函數(shù)定義的一般形式如下:類型標(biāo)識符 函數(shù)名()其中類型標(biāo)識符和函數(shù)名稱為函數(shù)頭。類型標(biāo)識符指明了本函數(shù)的類型,函數(shù)的類型實(shí)際上是函數(shù)返回值的類型。該類型標(biāo)識符與前面介紹的各種說明符相同。函數(shù)名是由用戶定義的標(biāo)識符,函數(shù)名后有一個空括號,其中無參數(shù),但括號不可少。{}中的內(nèi)容稱為函數(shù)體。在函數(shù)體中聲明部分,是對函數(shù)體內(nèi)部所用到的變量的類型說明。在很多情況下都不要求無參函數(shù)有返回值,此時(shí)函數(shù)類型符可以寫為void。我們可以改寫一個函數(shù)定義:
voidHello(){
printf("Hello,world ");
}
這里,只把main改為Hello作為函數(shù)名,其余不變。Hello函數(shù)是一個無參函數(shù),當(dāng)被其它函數(shù)調(diào)用時(shí),輸出Hello world字符串。
有參函數(shù)定義的一般形式
有參函數(shù)定義的一般形式如下: 類型標(biāo)識符 函數(shù)名(形式參數(shù)表列)有參函數(shù)比無參函數(shù)多了一個內(nèi)容,即形式參數(shù)表列。在形參表中給出的參數(shù)稱為形式參數(shù),它們可以是各種類型的變量,各參數(shù)之間用逗號間隔。在進(jìn)行函數(shù)調(diào)用時(shí),主調(diào)函數(shù)將賦予這些形式參數(shù)實(shí)際的值。形參既然是變量,必須在形參表中給出形參的類型說明。例如,定義一個函數(shù),用于求兩個數(shù)中的大數(shù),可寫為:
intmax(inta,intb){
if(a>b)returna;
elsereturnb;
}
第一行說明max函數(shù)是一個整型函數(shù),其返回的函數(shù)值是一個整數(shù)。形參為a,b,均為整型量。a,b的具體值是由主調(diào)函數(shù)在調(diào)用時(shí)傳送過來的。在{}中的函數(shù)體內(nèi),除形參外沒有使用其它變量,因此只有語句而沒有聲明部分。在max函數(shù)體中的return語句是把a(bǔ)(或b)的值作為函數(shù)的值返回給主調(diào)函數(shù)。有返回值函數(shù)中至少應(yīng)有一個return語句。在C程序中,一個函數(shù)的定義可以放在任意位置,既可放在主函數(shù)main之前,也可放在main之后。例如:可把max 函數(shù)置在main之后,也可以把它放在main之前。修改后的程序如下所示。
【例8-1】函數(shù)定義示例
#include<stdio.h>
intmax(inta,intb){
if(a>b)returna;
elsereturnb;
}
intmain(void){
intmax(inta,intb);
intx,y,z;
printf("input two numbers: ");
scanf("%d%d",&x,&y);
z=max(x,y);
printf("maxmum=%d",z);
return0;
}
現(xiàn)在我們可以從函數(shù)定義、函數(shù)說明及函數(shù)調(diào)用的角度來分析整個程序,從中進(jìn)一步了解函數(shù)的各種特點(diǎn)。程序的第1行至第4行為max函數(shù)定義。進(jìn)入主函數(shù)后,因?yàn)闇?zhǔn)備調(diào)用max函數(shù),故先對max函數(shù)進(jìn)行說明(程序第6行)。函數(shù)定義和函數(shù)說明并不是一回事,在后面還要專門討論。 可以看出函數(shù)說明與函數(shù)定義中的函數(shù)頭部分相同,但是末尾要加分號。程序第10行為調(diào)用max函數(shù),并把x、y中的值傳送給max的形參a、b。max函數(shù)執(zhí)行的結(jié)果(a或b)將返回給變量z。最后由主函數(shù)輸出z的值。
【編程函數(shù)的定義之C語言】相關(guān)文章:
C語言函數(shù)的定義07-13
C語言程序中函數(shù)的定義11-07
C語言自定義函數(shù)08-09
C語言中如何定義函數(shù)式宏10-24
C語言函數(shù)式編程中惰性求值詳解09-06
C語言宏定義07-01
C語言變量定義07-29
什么是C語言函數(shù)09-26
C語言的數(shù)組與函數(shù)10-23