CHƯƠNG 7
KIỂU CON TRỎ
( POINTER )
Nội dung:
I.
Định nghĩa -Khai báo.
II.
Các thao tác trên biến con trỏ.
III.
Con trỏ và mảng.
IV.
Thông số hình thức kiểu con trỏ.
V.
Cấp phát động.
I. ĐỊNH NGHĨA – KHAI BÁO
- ĐN: Biến kiểu con trỏ là biến chứa địa chỉ của một
biến khác.
- Các loại biến con trỏ: Nếu biến con trỏ chứa:
địa biến nguyên ta gọi là con trỏ nguyên,
địa chỉ biến thực gọi là con trỏ thực,
địa chỉ biến ký tự gọi là con trỏ ký tự...
- Cú pháp khai báo:
tên_kiểu* tên_biến;
trong đó:
tên_kiểu là những kiểu đã được định nghĩa
ý nghĩa:
khai báo biến tên_biến là biến con trỏ tên_kiểu ,
II. CÁC THAO TÁC:
3.Cộng trừ con trỏ với số nguyên:
Khi cộng với 1, địa chỉ được tăng lên một
lượng bằng kích thước kiểu con trỏ.
Ví dụ 1:
int a=10;
int*pa=&a;
cout
III. THAY ĐỔI THÔNG SỐ THỰC BẰNG
THÔNG SỐ HÌNH THỨC CON TRỎ:
Ví dụ:
void swap(int*pa, int* pb)
{
int tam;
tam=*pa;
*pa=*pb;
*pb=tam;
}
V. CẤP PHÁT ĐỘNG:
1. Khái niệm:
stack
heap
2. Toán tử new
Cú pháp:
biến_con_trỏ=new tên_kiểu[N];
Ý nghĩa: Cấp phát vùng nhớ đủ để lưu N biến
kiểu tên_kiểu. Mặc định N=1 (khi không có N).
3. Toán tử delete
Cú pháp:
delete biến_con_trỏ;
delete [] biến_con_trỏ;
Ý nghĩa: Thu hồi vùng nhớ đã cấp phát cho
biến_con_trỏ bằng new.
V. CẤP PHÁT ĐỘNG: