int SampleFunction(int var1, int var2, ...) { ... return result; }
這是一個簡單的函數架構,函數(函式,Function)就是可以傳入引數(即參數),讓它傳回結果的一段程式碼。
如果沒有回傳值的話,也可以稱作副程式。
如果引數只有二到三個,當然沒有什麼問題;
但是如果你要一次傳入很多引數,甚至是陣列時,要怎麼做呢?
範例一:
#include <stdio.h> #include <stdlib.h> int sum(int var[], int b); int main(void) { int a[]={1, 2, 3, ...}; printf("%d\n", sum(a, 10)); } int sum(int var[], int b) //計算首b個元素的總和 { int x=0, i; for(i=0; i<b; i++) { x+=var[i]; } return x; }
注意:
- 函數的引數使用「陣列」時,函數內就使用陣列編寫。
- 調用函數時,引數只要寫「陣列名稱」即可。(補充:陣列名稱代表「陣列首個元素的位址」。)
範例二:
#include <stdio.h> #include <stdlib.h> int sum(int* var, int b); int main(void) { int a[]={1, 2, 3, ...}; printf("%d\n", sum(a, 10)); } int sum(int* var, int b) //計算首b個元素的總和 { int x=0, i; for(i=0; i<b; i++) { x+=*(var+i); } return x; }
注意:
- 函數的引數使用「指標」時,函數內就以指標編寫。
- 調用函數時,一樣傳入「陣列首個元素的位址」。
沒有留言:
張貼留言