void try_func(int i) // i 為形式參數
{
// 函數主體
}
int main(void)
{
int number = 1; // 實際參數
try_func(number); // 傳值呼叫:number 的值複製給 i
return 0;
}
實際參數可以是常數、變數或運算式。形式參數與實際參數佔用不同記憶體位置,函數內修改形式參數不影響實際參數。
void try_func(int base)
{
base = base + 5; // 修改區域變數
}
int main(void)
{
int number = 1;
try_func(number);
// number 仍為 1
return 0;
}
float duff(int k); // 函數原型宣告
int main(void)
{
int n = 10;
float q = duff(n); // 接收回傳值
return 0;
}
float duff(int k) // 函數定義
{
float tor = k * 1.5;
return tor; // 回傳 float
}
呼叫端必須先見到函數原型(回傳型別、名稱、參數型別),編譯器才能正確產生呼叫碼與型別檢查。
void func(int *p),呼叫 func(&var)。#include 共享。return 運算式;void 函數可省略或寫 return;。void func(int arr[]) 等同 void func(int *arr),需另傳長度。void func(const Struct *s)。