JavaScript is required

Có thể truy cập thành phần của cấu trúc thông qua con trỏ như( với p là con trỏ cấu trúc, a là thành phần cấu trúc):

A.

(*p).a;

B.

*p->a;

C.

A và B đều đúng

D.

A và B đều sai

Trả lời:

Đáp án đúng: B


Trong C, khi bạn có một con trỏ đến một cấu trúc, có hai cách chính để truy cập các thành phần của cấu trúc đó:

  • Sử dụng toán tử chấm (.) kết hợp với toán tử giải tham chiếu (*): Khi bạn có một con trỏ p đến một cấu trúc, bạn có thể giải tham chiếu con trỏ đó bằng cách sử dụng *p. Kết quả của *p là một biến cấu trúc. Sau đó, bạn có thể sử dụng toán tử chấm (.) để truy cập một thành phần của cấu trúc này. Do đó, cú pháp (*p).a là hợp lệ, trong đó a là một thành phần của cấu trúc mà p trỏ tới. Dấu ngoặc đơn là cần thiết vì toán tử chấm (.) có độ ưu tiên cao hơn toán tử giải tham chiếu (*).
  • Sử dụng toán tử mũi tên (->): Toán tử mũi tên (->) là một cách viết tắt để truy cập các thành phần của cấu trúc thông qua một con trỏ. Biểu thức p->a tương đương với (*p).a. Nó được sử dụng phổ biến hơn vì nó ngắn gọn và dễ đọc hơn.

Vì cả hai cách (*p).ap->a đều hợp lệ để truy cập thành phần của cấu trúc thông qua con trỏ, nên đáp án C (A và B đều đúng) là đáp án chính xác.

Câu hỏi liên quan