Pointer Access Operators
Trong Arduino, Pointer Access Operators (Toán tử truy cập con trỏ) được sử dụng để làm việc với con trỏ và tham chiếu. Có hai toán tử chính trong C++ (ngôn ngữ sử dụng trong Arduino) liên quan đến con trỏ: *
(dereference operator) và &
(reference operator). Dưới đây là mô tả chi tiết về chúng:
1. *
(Dereference Operator) - Toán tử giải tham chiếu
- Mô tả: Toán tử
*
được sử dụng để truy cập giá trị mà con trỏ đang trỏ tới. Nó giúp giải tham chiếu (dereference) con trỏ để lấy giá trị thực tế mà con trỏ đó lưu trữ. - Cú pháp:
value = *pointer;
-
Ví dụ:
int a = 10; int* ptr = &a; // Con trỏ ptr lưu địa chỉ của biến a // Sử dụng toán tử * để truy cập giá trị mà ptr đang trỏ tới int b = *ptr; // b = 10
Giải thích:
int a = 10;
: Khai báo biếna
có giá trị là 10.int* ptr = &a;
: Khai báo con trỏptr
và gán cho nó địa chỉ của biếna
.int b = *ptr;
: Sử dụng toán tử*
để giải tham chiếu và lấy giá trị màptr
đang trỏ tới, đó chính là giá trị củaa
, tức là10
.
2. &
(Reference Operator) - Toán tử tham chiếu
- Mô tả: Toán tử
&
được sử dụng để lấy địa chỉ của một biến, tức là nó trả về địa chỉ bộ nhớ của biến thay vì giá trị của nó. Đây là cách để tạo con trỏ, vì bạn cần biết địa chỉ của biến để con trỏ có thể trỏ tới. - Cú pháp:
pointer = &variable;
-
Ví dụ:
int a = 10; int* ptr = &a; // Lấy địa chỉ của a và gán cho ptr
Giải thích:
int a = 10;
: Khai báo biếna
có giá trị là 10.int* ptr = &a;
: Lấy địa chỉ của biếna
bằng toán tử&
và gán nó cho con trỏptr
.
Tóm tắt:
Toán tử | Tên gọi | Mô tả | Ví dụ |
---|---|---|---|
* |
Toán tử giải tham chiếu | Truy cập giá trị mà con trỏ đang trỏ tới. | int b = *ptr; |
& |
Toán tử tham chiếu | Lấy địa chỉ của một biến. | ptr = &a; |