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