Cộng con trỏ (Pointer Addition)
Thêm giá trị vào con trỏ. Công thức địa chỉ mới:
new_address = current_address + (number * sizeof(data_type))
Ví dụ
#include <stdio.h>
int main() {
int num = 500;
int *ptr = #
printf("Dia chi ptr: %u\n", ptr);
ptr = ptr + 7; // cộng 7 đơn vị int (7 * 4 byte)
printf("Sau khi cong: %u\n", ptr);
return 0;
}
Kết quả
Dia chi ptr: 6422036 Sau khi cong: 6422064
Trừ con trỏ (Pointer Subtraction)
Trừ giá trị từ con trỏ. Công thức:
new_address = current_address - (number * sizeof(data_type))
Ví dụ
#include <stdio.h>
int main() {
int num = 500;
int *ptr = #
printf("Dia chi ptr: %u\n", ptr);
ptr = ptr - 5; // trừ 5 đơn vị int
printf("Sau khi tru: %u\n", ptr);
return 0;
}
Kết quả
Dia chi ptr: 6422036 Sau khi tru: 6422016