一把梭系列 ~ C語言範例 (0019) [函式(函數)簡介]
一把梭系列 ~ C語言範例 (0019) [函式(函數)簡介]
資料來源: https://openhome.cc/Gossip/CGossip/FunctionABC.html
線上執行: https://www.tutorialspoint.com/compile_c_online.php
★前言:
★主題:
函數就是當某些程式碼片段經常被重複使用,此時可以抽出成為獨立的個體以便重覆呼叫使用。
程式語言中函數被定義可以接受資料,並運行其中的算法,最後將結果傳回給花被他呼叫的程式,因此一函數的組成主要包括四個部份:
01.返回值
02.函式名稱
03.參數列
04.函式主體
上述前三者稱為函式宣告或函式原型(Function prototype),在C/C++規定如果函式是在 main 之後實作,必須在 main 之前進行宣告,否則會出現編譯錯誤。
另外程式設計師也會將同類型的函數都用獨立H與C檔案分別分類收藏管理,藉此方便日後使用與修改維護
★code
math.h
#ifndef MATH_H_INCLUDED #define MATH_H_INCLUDED int power2(int); int power(int, int); #endif // MATH_H_INCLUDED
math.c
#include "math.h" int power2(int num) { return power(num, 2); } int power(int n, int p) { int r = 1; int i = 0; for(i = 0; i < p; i++) { r *= n; } return r; }
main.c
#include <stdio.h> #include <stdlib.h> #include "math.h" int main(void) { int num = 0; int p = 0; printf("輸入數值:"); scanf("%d", &num); printf("輸入次方:"); scanf("%d", &p); printf("%d 平方:%d\n", num, power2(num)); printf("%d 的 %d 次方 %d\n", num, p, power(num, p)); return 0; }
★結果:
★延伸說明/重點回顧:
01.個人經驗只要重複使用過三次的功能都應該把它變成函數