Con trỏ C++
Tạo con trỏ
Bạn đã học từ chương trước rằng chúng ta có thể lấy địa chỉ bộ nhớ của một biến bằng cách sử dụng toán tử &
:
Ví dụ
string food = "Pizza";
// A food variable of type string
cout <<
food; // Outputs the value of food (Pizza)
cout << &food; // Outputs the memory address of food ( 0x6dfed4 )
Hãy tự mình thử »Tuy nhiên, con trỏ là một biến lưu trữ địa chỉ bộ nhớ dưới dạng giá trị của nó .
Biến con trỏ trỏ tới một kiểu dữ liệu (như int
hoặc string
) cùng loại và được tạo bằng toán tử *
. Địa chỉ của biến bạn đang làm việc được gán cho con trỏ:
Ví dụ
string food = "Pizza"; // A food variable
of type string
string* ptr =
&food; // A pointer variable, with the name
ptr, that stores the
address of food
// Output the value of food (Pizza)
cout << food << "\n";
// Output
the memory address of food (0x6dfed4)
cout << &food << "\n";
//
Output the memory address of food with the pointer (0x6dfed4)
cout <<
ptr << "\n";
Hãy tự mình thử »Ví dụ giải thích
Tạo một biến con trỏ có tên ptr
, trỏ đến một biến string
, bằng cách sử dụng dấu hoa thị *
( string* ptr
). Lưu ý rằng loại con trỏ phải khớp với loại biến bạn đang làm việc.
Sử dụng toán tử &
để lưu trữ địa chỉ bộ nhớ của biến có tên food
và gán nó cho con trỏ.
Bây giờ, ptr
giữ giá trị địa chỉ bộ nhớ của food
.
Mẹo: Có 3 cách để khai báo biến con trỏ nhưng cách thứ nhất được ưu tiên hơn:
string* mystring; // Preferred
string *mystring;
string * mystring;