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;
}
注意:
- 函數的引數使用「指標」時,函數內就以指標編寫。
- 調用函數時,一樣傳入「陣列首個元素的位址」。
沒有留言:
張貼留言