Which of the following gives the memory address of a variable pointed to by pointer a?
Trả lời:
Đáp án đúng: A
Trong C/C++, một con trỏ (pointer) là một biến lưu trữ địa chỉ của một biến khác. Để lấy địa chỉ của một biến mà con trỏ đang trỏ tới, ta sử dụng chính giá trị của con trỏ đó.
* **`a`**: Bản thân `a` là một con trỏ, giá trị của `a` chính là địa chỉ mà nó đang trỏ tới.
* **`*a`**: Toán tử `*` được sử dụng để truy cập giá trị tại địa chỉ mà con trỏ `a` đang trỏ tới (dereferencing). Nó trả về giá trị của biến mà `a` trỏ tới, không phải địa chỉ của biến đó.
* **`&a`**: Toán tử `&` được sử dụng để lấy địa chỉ của một biến. Trong trường hợp này, `&a` sẽ trả về địa chỉ của chính con trỏ `a`, chứ không phải địa chỉ của biến mà `a` đang trỏ tới.
* **`address(a)`**: Không có hàm `address()` chuẩn trong C/C++ để lấy địa chỉ của biến mà con trỏ trỏ tới. Cách này không đúng.
Vậy, `a` sẽ trả về địa chỉ bộ nhớ của biến được trỏ bởi con trỏ `a`.
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
