Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Ví dụ cộng/trừ con trỏ (pointer addition/subtraction) trong C

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