Số học: phép gán
Bài học 3 trên 14 trong khóa học Con trỏ trong C++ của Coddy.
Các con trỏ, như những biến và kiểu dữ liệu khác, có thể thực hiện các phép toán số học trên chúng.
Gán giá trị
Tại một thời điểm nhất định, một con trỏ chỉ có thể trỏ đến một địa chỉ. Nhưng trong suốt chương trình, điều đó có thể thay đổi và con trỏ có thể được chỉnh sửa để trỏ đến một vị trí khác.
Lưu ý: Nhiều con trỏ có thể trỏ đến cùng một vị trí.
int var = 5;
int *ptr = &var;
int *newPtr = ptr;
cout << "Pointer address: " << ptr << endl;
cout << "2nd pointer address: " << newPtr;Output:
Pointer address: 0x7fffca8285cc
2nd pointer address: 0x7fffca8285ccGiá trị của con trỏ ptr được gán cho newPtr, và giờ cả hai con trỏ đều trỏ đến cùng một biến var, hay đến địa chỉ bộ nhớ chứa giá trị 5
int x = 10;
int *ptr = &x;
int *newPtr = ptr;
cout << "x = " << x << endl;
cout << "ptr = " << ptr << endl;
cout << "*ptr = " << *ptr << endl;
*newPtr = 25;
cout << "x = " << x << endl;
cout << "newPtr = " << newPtr << endl;
cout << "*newPtr = "<< *newPtr;Output:
x = 10
ptr = 0x7ffe28364c9c
*ptr = 10
x = 25
newPtr = 0x7ffe28364c9c
*newPtr = 25Như bạn thấy, chúng ta có biến số nguyên x có giá trị bằng 10. Chúng ta khai báo các con trỏ ptr và newPtr để chúng trỏ đến cùng một biến x, điều này có thể nhận thấy khi xem các địa chỉ bộ nhớ. Sau đó, chúng ta đổi giá trị của *newPtr thành 25, và giá trị của x cũng tự động thay đổi vì newPtr đang trỏ đến biến đó.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Thử thách
DễĐầu vào chuẩn sẽ cung cấp cho bạn 2 số. Hãy nhập chúng vào các biến tùy ý, điều quan trọng là tạo một con trỏ số nguyên có tên *ptr và khởi tạo để nó trỏ đến số thứ nhất. Sau đó, gán giá trị của số thứ hai cho con trỏ bằng cách giải tham chiếu nó, rồi in giá trị của nó ra đầu ra chuẩn.
Tự làm thử
#include <iostream>
using namespace std;
int main()
{
// Viết code của bạn
return 0;
}Tất cả bài học trong Con trỏ trong C++
1Cơ bản về con trỏ
Giới thiệu về con trỏKhai báo và khởi tạoSố học: phép gánSố học: các phép toánCon trỏ hằngCon trỏ và mảngTự luyện tập: Trình biên dịch C++ online