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ử:
Thí 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)
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ó .
Một biến con trỏ trỏ đến một kiểu dữ liệu (như int
hoặc string
) cùng kiểu và được tạo bằng *
toán tử. Địa chỉ của biến mà bạn đang làm việc được gán cho con trỏ:
Thí 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";
Giải thích ví dụ
Tạo một biến con trỏ với tên ptr
, trỏ đến một string
biến, bằng cách sử dụng dấu hoa thị
*
( string* ptr
). Lưu ý rằng loại con trỏ phải phù hợp với loại biến mà 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 gọi food
và gán nó cho con trỏ.
Bây giờ, ptr
giữ giá trị của food
địa chỉ bộ nhớ của.
Mẹo: Có ba cách để khai báo biến con trỏ, nhưng cách đầu tiên được ưu tiên:
string* mystring; // Preferred
string *mystring;
string * mystring;