/*
一般變數當作引數傳入函數時是傳值呼叫, 亦即函數中會複製該變數進行運算, 不影響原值. 陣列也可以當作引數傳入函數中,
但不是用傳值呼叫, 而是傳址呼叫, 是將陣列頭的位址傳給函數, 因此會影響原陣列之值. 除了傳陣列位址外, 還要傳入陣列大小,
參考碁峰楊明豐 "Arduino 最佳入門與應用" ˇ3-7-3 節範例 :
*/
void setup() {
Serial.begin(9600);
int a[]={1,2,3,4};
Serial.println(sum(a,4)); //輸出 10 加總陣列內的值
}
int sum(int a[], int size) { //傳入陣列位址與大小
int sum=0;
for (int i=0; i<size; i++) {
sum += a[i]; //sum=sum+i
}
return sum;
}
void loop() {
}