//int a = v1;
//int b = v2;
void swapValue(int a, int b) {
int temp = a;
a = b;
b = temp;
Serial.print("Swap Func A: ");
Serial.println(a);
Serial.print("Swap Func B: ");
Serial.println(b);
}
// int &a = v1;
// int &b = v2;
void swapRef(int &a, int &b) {
int temp = a;
a = b;
b = temp;
Serial.print("Swap Func A: ");
Serial.println(a);
Serial.print("Swap Func B: ");
Serial.println(b);
}
void swapPtr(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
Serial.print("Swap Func A: ");
Serial.println(*a);
Serial.print("Swap Func B: ");
Serial.println(*b);
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
int v1 = 100, v2 = 200;
//swapValue(v1, v2);
//swapRef(v1, v2);
// swapPtr(&v1, &v2);
// Serial.print("v1: ");
// Serial.println(v1);
// Serial.print("v2: ");
// Serial.println(v2);
//1,初始化
// int *ptr;
// ptr = &v1;
// int &ref=v1;
// 2, reassignment
// int *ptr;
// ptr = &v1;
// ptr = &v2;
// int &ref = v1;
// //&ref = v2;
// ref = v2; // => v1 =v2;
// Serial.print("v1: ");
// Serial.println(v1);
// Serial.print("v2: ");
// Serial.println(v2);
//3, memory address
// int *ptr;
// ptr = &v1;
// Serial.println(long(&ptr), HEX);
// Serial.println(long(ptr), HEX);
// Serial.println(long(&v1), HEX);
// int &ref = v1;
// Serial.println(long(&ref), HEX);
// Serial.println(long(&v1), HEX);
// 4 null
//int *ptr;
int *ptr = nullptr;
//int &ref = v1;
int &ref = 1000;
}
void loop() {
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
}