JavaScript is required

Which of the following gives the memory address of integer variable a?

A.
*a;
B.
a;
C.
&a;
D.
address(a);
Trả lời:

Đáp án đúng: C


Trong C/C++, toán tử `&` được sử dụng để lấy địa chỉ của một biến. Do đó, `&a` sẽ trả về địa chỉ bộ nhớ của biến `a`. * Phương án A: `*a` là toán tử giải tham chiếu (dereference operator). Nó được sử dụng để truy cập giá trị được lưu trữ tại địa chỉ mà `a` trỏ tới (nếu `a` là một con trỏ). Nếu `a` là một biến kiểu số nguyên, việc sử dụng `*a` sẽ gây ra lỗi biên dịch hoặc hành vi không xác định. * Phương án B: `a` chỉ đơn giản là giá trị của biến `a`, không phải là địa chỉ của nó. * Phương án D: `address(a)` không phải là một hàm hoặc cú pháp chuẩn trong C/C++ để lấy địa chỉ của một biến. Có thể có một hàm `address` được định nghĩa ở đâu đó trong một thư viện cụ thể, nhưng nó không phải là một phần của ngôn ngữ chuẩn. Do đó, đáp án đúng là C.

Câu hỏi liên quan