JavaScript is required

Which of the following gives the value stored at the address pointed to by pointer a?

A.

a;

B.

val(a);

C.

*a;

D.

&a

Trả lời:

Đáp án đúng: C


Trong C/C++, con trỏ là một biến lưu trữ địa chỉ của một biến khác. Để truy cập giá trị được lưu trữ tại địa chỉ mà con trỏ trỏ tới, ta sử dụng toán tử giải tham chiếu (dereference operator) là dấu `*`. * **A. a;**: Phương án này chỉ đơn giản trả về giá trị của con trỏ `a` (tức là địa chỉ mà `a` đang giữ), chứ không phải giá trị được lưu trữ tại địa chỉ đó. * **B. val(a);**: Phương án này không phải là cú pháp hợp lệ trong C/C++. Không có hàm `val()` mặc định nào được định nghĩa để giải tham chiếu một con trỏ. * **C. *a;**: Đây là cách chính xác để truy cập giá trị được lưu trữ tại địa chỉ mà con trỏ `a` trỏ tới. Toán tử `*` (toán tử giải tham chiếu) sẽ trả về giá trị tại địa chỉ được lưu trong `a`. * **D. &a**: Toán tử `&` là toán tử lấy địa chỉ. Nó trả về địa chỉ của biến `a` (con trỏ `a` trong trường hợp này), chứ không phải giá trị được lưu trữ tại địa chỉ mà `a` trỏ tới. Vậy, đáp án đúng là C.

Câu hỏi liên quan