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

Con trỏ (Pointers) trong C/C++

Con trỏ là biến lưu trữ địa chỉ của biến khác. Khi cấp phát bộ nhớ cho biến, con trỏ trỏ đến địa chỉ đó. Toán tử * dùng để khai báo con trỏ.

Cú pháp

datatype *variable_name;

Trong đó: datatype – kiểu dữ liệu; variable_name – tên con trỏ.

Ví dụ

#include <stdio.h>

int main() {
    int a = 8;
    int *ptr;
    ptr = &a;
    printf("Gia tri bien: %d\n", a);
    printf("Dia chi bien: %p\n", (void*)ptr);
    printf("Gia tri qua con tro: %d\n", *ptr);
    return 0;
}

Kết quả

Gia tri bien: 8
Dia chi bien: 0x7ffc...
Gia tri qua con tro: 8

Giải thích: Biến a giá trị 8. Con trỏ ptr lưu địa chỉ a (&a). *ptr giải tham chiếu lấy giá trị 8.

Các khái niệm cốt lõi

  • &a – Lấy địa chỉ của a
  • *ptr – Giải tham chiếu (lấy giá trị tại địa chỉ ptr trỏ tới)
  • ptr++ – Tăng con trỏ (nhảy sang phần tử tiếp theo theo kiểu dữ liệu)
  • Con trỏ NULL – Con trỏ không trỏ đâu (NULL hoặc nullptr)