JavaScript is required

Phép trừ một con trỏ với một số nguyên sẽ là gì?

A.

Một số nguyên.

B.

Một con trỏ cùng kiểu.

C.

Cả hai kết quả trên đều đúng.

D.
Cả hai kết quả trên đều sai.
Trả lời:

Đáp án đúng: B


Trong C/C++, khi bạn trừ một số nguyên từ một con trỏ, bạn thực sự đang thực hiện phép toán trên địa chỉ bộ nhớ mà con trỏ đang trỏ tới. Kết quả của phép trừ này là một con trỏ mới, trỏ đến một vị trí bộ nhớ mới. Vị trí bộ nhớ này cách vị trí ban đầu một khoảng bằng số nguyên nhân với kích thước của kiểu dữ liệu mà con trỏ trỏ tới.

Ví dụ: Nếu bạn có một con trỏ int *p và bạn thực hiện phép trừ p - 2, thì kết quả sẽ là một con trỏ mới, trỏ đến địa chỉ bộ nhớ cách địa chỉ mà p trỏ tới một khoảng là 2 * sizeof(int) byte. Vì vậy, kết quả là một con trỏ cùng kiểu với con trỏ ban đầu.

Câu hỏi liên quan