30/09/2018, 16:14

Hiệu của 2 con trỏ trong c/c++

Phép toán này chỉ thực hiện được khi p và q là 2 con trỏ cùng trỏ đến các phần tử
của một dãy dữ liệu nào đó trong bộ nhớ(ví dụ cùng trỏ đến 1 mảng dữ liệu). Khi đó
hiệu p - q là số thành phần giữa p và q (chú ý p - q không phải là hiệu của 2 địa chỉ mà
là số thành phần giữa p và q).

Ví dụ: giả sửp và q là 2 con trỏ nguyên, p có địa chỉ 200 và q có địa chỉ 208. Khi
đó p - q = −4 và q - p = 4 (4 là số thành phần nguyên từ địa chỉ 200 đến 208).

Tran Huan viết 18:30 ngày 30/09/2018
  • 208 - 200 = 4 ???
  • Nếu là một mảng char a[20]; thì &a[19] - &a[0] + 1 mới là tổng số phần tử của mảng
Thực tế khắc nghiệt viết 18:16 ngày 30/09/2018

208 - 200 = 4 ???

4 là số thành phần nguyên từ địa chỉ 200 đến 208 . Bạn vui lòng đọc kỹ nếu ko hiểu thì comment nhé. cảm ơn

Mến Phạm viết 18:23 ngày 30/09/2018

bạn có thể nói rõ hơn về 208-200=4 giúp mk đc không! mk chưa hiểu lắm:))))

Trọng Nghĩa viết 18:30 ngày 30/09/2018

Kiểu short 2 byte, (208 - 200) / 2 = 4.

Mình nghĩ ý thớt là vậy(?)

Bài liên quan
0