/*
一般變數當作引數傳入函數時是傳值呼叫, 亦即函數中會複製該變數進行運算, 不影響原值. 陣列也可以當作引數傳入函數中,
但不是用傳值呼叫, 而是傳址呼叫, 是將陣列頭的位址傳給函數, 因此會影響原陣列之值. 除了傳陣列位址外, 還要傳入陣列大小,
參考碁峰楊明豐 "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() {
}
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3