Đặ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).