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

Khái niệm con trỏ (pointer) trong ngôn ngữ C

Đặc điểm con trỏ

  • Tiết kiệm bộ nhớ.
  • Thực thi nhanh do truy cập trực tiếp địa chỉ nhớ.
  • Truy xuất bộ nhớ hiệu quả.
  • Cấp phát/giải phóng bộ nhớ động.
  • Dùng với cấu trúc dữ liệu (linked list, tree...).

Cú pháp

pointer = &variable;

Chương trình minh họa

#include <stdio.h>

int main() {
    int x = 40;
    int *p;
    p = &x;

    printf("Dia chi trong p: %d\n", p);
    printf("Gia tri tai p: %d\n", *p);
    return 0;
}

Kết quả

Dia chi trong p: 5ff678
Gia tri tai p: 40

Toán tử * và &

  • * (asterisk): 1) Khai báo con trỏ (int *p;), 2) Lấy giá trị tại địa chỉ (*p).
  • & (address-of): Lấy địa chỉ của biến (&x).