Toán tử giải tham chiếu
Thuộc phần Logic và luồng chương trình trong hành trình C++ của Coddy. Bài học 3 trên 56.
*) trở nên thiết yếu.Theoán tử giải tham chiếu * dùng để truy cập giá trị được lưu tại địa chỉ bộ nhớ mà con trỏ trỏ đến. Khi đặt * trước một biến con trỏ, toán tử này sẽ “theo” địa chỉ đó và cho bạn giá trị thực tế được lưu tại đó.Hãy nhớ rằng toán tử lấy địa chỉ (&) dùng để lấy địa chỉ bộ nhớ của một biến, còn toán tử giải tham chiếu (*) dùng để truy cập giá trị tại địa chỉ đó.int number = 42;
int* ptr = &number; // ptr lưu địa chỉ của number
int value = *ptr; // value giờ chứa 42*ptr, thực chất bạn đang thay đổi giá trị được lưu tại vị trí bộ nhớ đó:*ptr = 100; // Đổi giá trị của number thành 100
// number hiện có giá trị 100, dù ta đã thay đổi nó thông qua ptrThử thách
DễTạo một chương trình minh họa toán tử giải tham chiếu (dereference operator) bằng cách thay đổi giá trị của một biến thông qua con trỏ.
Chương trình sẽ nhận đầu vào sau:
- Một số nguyên làm giá trị ban đầu cho một biến
- Một số nguyên làm giá trị mới để gán thông qua con trỏ
Chương trình của bạn cần:
- Khai báo một biến số nguyên có tên
temperaturevà khởi tạo biến này bằng giá trị đầu vào thứ nhất - Tạo một con trỏ có tên
tempPtrtrỏ đến biếntemperature - In ra giá trị ban đầu bằng cách giải tham chiếu con trỏ
- Dùng toán tử giải tham chiếu để thay đổi giá trị của
temperaturethành giá trị đầu vào thứ hai thông qua con trỏ - In ra giá trị mới bằng cách giải tham chiếu con trỏ một lần nữa
Dùng định dạng đầu ra chính xác sau:
Original value: [original value]
New value: [new value]Tự làm thử
// TODO: Viết code của bạn bên dưới
// 1. Khai báo biến temperature và khởi tạo bằng initialValue
// 2. Tạo con trỏ tempPtr trỏ đến temperature
// 3. In ra giá trị ban đầu bằng cách giải tham chiếu con trỏ
// 4. Đổi giá trị của temperature thông qua con trỏ bằng newValue
// 5. In ra giá trị mới bằng cách giải tham chiếu con trỏ
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 độ.
Tất cả bài học trong Logic và luồng chương trình
1Con trỏ và bộ nhớ
Con trỏ là gì?Toán tử lấy địa chỉToán tử giải tham chiếuCon trỏ nullCon trỏ và mảngBộ nhớ động với newGiải phóng bộ nhớ với deleteÔn tập: luyện tập về con trỏ2Vector (mảng động)
Giới thiệu std::vectorTạo vectorThêm phần tửTruy cập phần tửKích thước vectorDuyệt bằng vòng lặp forVòng lặp for dựa trên phạm viXóa phần tửÔn tập: các thao tác với vector5Dự án: Công cụ quản lý hàng tồn kho
Thiết lập dự ánThêm và cập nhật mặt hàng3Dự án: Công cụ danh sách công việc
Tổng quan dự ánThêm công việc6Tập hợp (các phần tử duy nhất)
Giới thiệu std::setTạo tập hợp và thêm phần tửKiểm tra phần tửXóa phần tửDuyệt qua tập hợpÔn tập: các số duy nhấtTự luyện tập: Trình biên dịch C++ online