C++ cung cấp hai toán tử con trỏ: Toán tử lấy địa chỉ (&) và Toán tử gián tiếp (*). Con trỏ là biến chứa địa chỉ của biến khác, hoặc nói cách khác, biến chứa địa chỉ biến khác được nói là "trỏ đến" biến kia. Biến có thể là bất kỳ kiểu dữ liệu nào bao gồm đối tượng, cấu trúc, hoặc lại là con trỏ.
Toán tử gián tiếp (*) là bổ sung của &. Là toán tử đơn ngôi trả về giá trị của biến nằm tại địa chỉ được chỉ định bởi toán hạng. Ví dụ:
Ví dụ
#include <iostream>
using namespace std;
int main() {
int var;
int *ptr;
int val;
var = 3000;
// lấy địa chỉ var
ptr = &var;
// lấy giá trị tại ptr
val = *ptr;
cout << "Value of var: " << var << endl;
cout << "Value of ptr: " << ptr << endl;
cout << "Value of val: " << val << endl;
return 0;
}
Kết quả
Value of var: 3000 Value of ptr: 0xbff64494 Value of val: 3000