- C語言的函數(shù)指的就是能夠完成某一項功能的代碼段
- 函數(shù)不可以嵌套定義,但是可以嵌套調(diào)用
- 函數(shù)名不能相同,不要重復(fù)定義
寫成函數(shù)的好處
- 可讀性高
- 代碼的可重用性高
return d; // 函數(shù)有且僅有一個返回值 用return關(guān)鍵字將函數(shù)的返回值返回,return后邊的代碼不再執(zhí)行
形參和實參
形式參數(shù)僅僅是拷貝了實際參數(shù)而已,實際參數(shù)本身的值并未發(fā)生改變
函數(shù)的分類
無返回值無參數(shù)
void無返回值的關(guān)鍵字
函數(shù)的構(gòu)成:返回值的類型+函數(shù)名+ (如果有參數(shù)的話,寫參數(shù)) +執(zhí)行的代碼段(不嚴謹?shù)暮瘮?shù))
void sayHello(){
printf("hello,world!\n");
}
有返回值,無參數(shù)
int backOne(){
return 1;
}
char backChar(){
return'a';
}
double backDouble(){
return 2.12;
}
無返回值,有參數(shù)
void printSum(inta,intb){
printf("sum = %d\n",a+b);
}
void printDifference(inta,intb){
printf("difference = %d\n",a - b);
}
有返回值,有參數(shù)(最常見的main函數(shù))
int product(inta,intb){
return a*b;
}
void swapTwoNumbers(inta,intb){
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("交換后兩個數(shù)的值是:%d,%d\n",a,b);
}
完整的函數(shù)組成
一個完整的函數(shù)是由三部分構(gòu)成的:
- 函數(shù)的聲明
- 函數(shù)的定義
- 函數(shù)的調(diào)用
函數(shù)的聲明
void eatFood();
函數(shù)的定義
void eatFood(){
printf("今天我吃了十斤米飯\n");
}
void beatTen();//函數(shù)的聲明是可以省略的
void beatTen(){
printf("我要打十個!!\n");
}
void pHello();//如果把函數(shù)的定義寫在了main函數(shù)的后面,前面必須聲明.為了防止出錯,要寫完整的函數(shù)聲明,定義,調(diào)用
函數(shù)的調(diào)用
int main(intargc,constchar* argv[]) {
sayHello();//通過函數(shù)名就可以調(diào)用
printf("%d\n",backOne());
}
void pHello(){
printf("helloWorld\n");
}