所謂函式 ( Function ) 是指將一些常用的敘述集合起來,並且以一個名稱來代表,如同在組合語言中的副程式。 當主程式必須使用到這些敘述集合時,再去呼叫執行此函式,如此不但可以減少程式碼的重複,同時也增加了程式的可讀性。 在呼叫執行函式前必須先宣告該函式,傳至函式的引數資料形態及函式傳回值的資料形態,都必須與函式原型定義的相同。

☛ 函式原型

所謂函式原型就是指定傳至函式引數的資料形態與函式傳回值的資料形態,函式原型的宣告包含函式名稱、傳至函式的引數資料形態及函式傳回值的資料形態。 當被呼叫的函式必須傳回數值時,函式的最後一個敘述必須使用 return 敘述。 使用 retuen 敘述有兩個目的,一是將控制權轉回給呼叫函式,另一是將 return 敘述後面小括弧 ” ( ) ” 中的數值傳回給呼叫函式。 return 敘述只能從函式傳回一個數值。

宣告格式:

傳回值形態 函數名稱(引數1形態 引數1, 引數2形態 引數2, 引數3形態 引數3, .... , 引數n形態 引數n)

宣告範例:

void func1(void);     //函式無引數,無傳回值
void func2(char i);   //函式有 char 形態引數,無傳回值
char func3(void);     //函式無引數,有 char 形態傳回值
char func4(char i);   //函式有 char 形態的引數 i 及傳回值

程式範例:

void setup() {

}

void loop() {
     int x=5,y=6,sum;     //宣告整數變數 x,y,sum
     sum=area(x,y);       //呼叫 area() 函式
}

int area(int x,int y) {   //計算面積函式 area()
    int s;
    s=x*y;                //執行 s=x*y 運算
    return s;             //傳回面積 s 值
}