Pointers Trong C++

Pointers Trong 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ử &:

Example

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ỏ:

Example

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, biến đó trỏ đến một biến chuỗi, 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 là food và gán nó cho con trỏ.

Bây giờ, ptr giữ giá trị của địa chỉ bộ nhớ của food.

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;

Sửa Đổi Giá Trị Con Trỏ

Bạn cũng có thể thay đổi giá trị của con trỏ. Nhưng lưu ý rằng điều này cũng sẽ thay đổi giá trị của biến ban đầu:

Example

string food = "Pizza";
string* ptr = &food;

// Output the value of food (Pizza)
cout << food << "\n";

// Output the memory address of food (0x6dfed4)
cout << &food << "\n";

// Access the memory address of food and output its value (Pizza)
cout << *ptr << "\n";

// Change the value of the pointer
*ptr = "Hamburger";

// Output the new value of the pointer (Hamburger)
cout << *ptr << "\n";

// Output the new value of the food variable (Hamburger)
cout << food << "\n";

 

Click to rate this post!
[Total: 0 Average: 0]

Leave a Reply

Your email address will not be published. Required fields are marked *

Hotline: 0984.876.750
Chat Facebook
Gọi điện ngay