Zero to Hero – C訓練營(part 5)-函式庫
數學函數,小時候都有學過,將某個質丟在函數後會依其函數規則出而改變,本身函數是一個模組化的黑箱作業,程式運作也是同此原理(如下圖)
函式宣告
在使用函式前需先定義該函式輸出的值型態及輸出後的形態,並給該函式命名,俾後需呼叫使用。
第一種方式:
主函式擺在main()函式的後面,需在開頭先做函式宣告,再使用,範例如下:
#include <stdio.h>
int power(int num);
int main() {
int number;
printf("Please Enter the Number: ");
scanf("%d",&number);
number = power(number);
printf("ANS: %d\n",number);
}
int power(int num){
num *= num;
return num;
}
- 解說:
-
第一步 -> 3 行 : 先告訴編譯器有個叫power會接收int形態並回傳int形態的函式之後會用上。
-
第二步 -> 13 至 16 行: 描述power執行邏輯,接收任意int並對該數進行平方後回傳。
-
第三步 -> 第 9 行: 實際呼叫power,並傳入參數給該函式並賦質給int變數
- 實際執行:
第二種方式:
主函式擺在main()函式的前面,就不需先行宣告,可以直接使用,範例如下:
#include <stdio.h>
int power(int num){
num *= num;
return num;
}
int main() {
int number;
printf("Please Enter the Number: ");
scanf("%d",&number);
number = power(number);
printf("ANS: %d\n",number);
}
- 解說:
-
第一步 -> 第 12 行: 實際呼叫power,並傳入參數給該函式並賦質給int變數
-
第二步 -> 3 至 6 行: 描述power執行邏輯,接收任意int並對該數進行平方後回傳。
- 實際執行:
小結:
上述兩種方式都可以使用,沒有一定對錯,全依據使者用需求調用。