Menu
CoddyTech

Toán tử lấy địa chỉ

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 2 trên 56.

Giờ bạn đã hiểu con trỏ là gì, bạn cần học cách lấy địa chỉ bộ nhớ của một biến. Đây là lúc toán tử lấy địa chỉ (&) phát huy tác dụng.

Toán tử lấy địa chỉ & được đặt trước tên biến để lấy địa chỉ bộ nhớ của biến đó. Khi bạn dùng &variable_name, toán tử này trả về vị trí trong bộ nhớ nơi biến đó được lưu trữ.

int number = 42;
int* ptr = &number;  // ptr hiện lưu địa chỉ của number

Trong ví dụ này, &number lấy địa chỉ bộ nhớ của biến number, rồi ta gán địa chỉ đó cho con trỏ ptr. Con trỏ không chứa giá trị 42, mà chứa địa chỉ nơi lưu giá trị 42.

Mối liên hệ giữa biến và con trỏ này rất quan trọng khi làm việc trực tiếp với bộ nhớ. Khi con trỏ lưu một địa chỉ, bạn có thể dùng nó để truy cập hoặc thay đổi gián tiếp biến ban đầu.

challenge icon

Thử thách

Dễ
Tạo một chương trình minh họa toán tử lấy địa chỉ (address-of operator) bằng cách sử dụng một biến số nguyên và một con trỏ. Khai báo một biến (variable) số nguyên có tên score và khởi tạo biến này bằng giá trị 85. Tạo một con trỏ có tên scorePtr để lưu địa chỉ bộ nhớ của biến score bằng toán tử lấy địa chỉ. In địa chỉ bộ nhớ được lưu trong con trỏ theo định dạng sau:
Address: 0x...
Ví dụ: nếu địa chỉ là 0x7fff5fbff6ac, đầu ra của bạn sẽ là:
Address: 0x7fff5fbff6ac
Lưu ý: Không đưa dấu ngoặc vuông vào đầu ra. Tiền tố 0x là một phần của cách biểu diễn địa chỉ bộ nhớ hệ thập lục phân tiêu chuẩn trong C++.

Tự làm thử

#include <iostream>
using namespace std;

int main() {
    // TODO: Viết code bên dưới
    
    return 0;
}
quiz iconTự kiểm tra

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

Tự luyện tập: Trình biên dịch C++ online