
CH
CHƯƠ
ƯƠNG 7
NG 7
KI U CON TRỂ Ỏ
KI U CON TRỂ Ỏ
( POINTER )
( POINTER )

N i dungộ
N i dungộ:
:
I.
I. Đ nh nghĩa -Khai báo.ị
Đ nh nghĩa -Khai báo.ị
II.
II. Các thao tác trên bi n con tr .ế ỏ
Các thao tác trên bi n con tr .ế ỏ
III.
III. Con tr và m ng.ỏ ả
Con tr và m ng.ỏ ả
IV.
IV. Thông s hình th c ki u con tr .ố ứ ể ỏ
Thông s hình th c ki u con tr .ố ứ ể ỏ
V.
V. C p phát đ ng.ấ ộ
C p phát đ ng.ấ ộ

- ĐN: Bi n ki u con tr là bi n ch a đ a ch c a m t ế ể ỏ ế ứ ị ỉ ủ ộ
- ĐN: Bi n ki u con tr là bi n ch a đ a ch c a m t ế ể ỏ ế ứ ị ỉ ủ ộ
bi n khác.ế
bi n khác.ế
- Các lo i bi n con tr : N u bi n con tr ch a: ạ ế ỏ ế ế ỏ ứ
- 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 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 th c g i là con tr th c, ị ỉ ế ự ọ ỏ ự
đ a ch bi n ký t g i là con tr ký t ...ị ỉ ế ự ọ ỏ ự
đ a ch bi n ký t g i là con tr ký t ...ị ỉ ế ự ọ ỏ ự
- Cú pháp khai báo:
- Cú pháp khai báo:
tên_ki u* tên_bi n;ể ế
tên_ki u* tên_bi n;ể ế
trong đó:
trong đó:
tên_ki u là nh ng ki u đã đ c đ nh nghĩaể ữ ể ượ ị
tên_ki u là nh ng ki u đã đ c đ nh nghĩaể ữ ể ượ ị
ý nghĩa:
ý nghĩa:
khai báo bi n tên_bi n là bi n con tr tên_ki uế ế ế ỏ ể
khai báo bi n tên_bi n là bi n con tr tên_ki uế ế ế ỏ ể ,
,
dùng đ ch a đ a ch c a bi n có ki u là ể ứ ị ỉ ủ ế ể
dùng đ ch a đ a ch c a bi n có ki u là ể ứ ị ỉ ủ ế ể
tên_ki u. ể
tên_ki u. ể
I. Đ NH NGHĨA – KHAI BÁOỊ
I. Đ NH NGHĨA – KHAI BÁOỊ

Ví dụ
Ví dụ:
:
int* pa;
int* pa;
float* pf;
float* pf;
char* s;
char* s;
int* a[100];
int* a[100];
int (*a)[100];
int (*a)[100];
I. Đ NH NGHĨA – KHAI BÁOỊ
I. Đ NH NGHĨA – KHAI BÁOỊ

1. L y đ a ch c a 1 bi n: ấ ị ỉ ủ ế
1. L y đ a ch c a 1 bi n: ấ ị ỉ ủ ế (address
(address
operator)
operator)
S d ng tóan t &ử ụ ử
S d ng tóan t &ử ụ ử
Ví dụ
Ví dụ:
:
int a=10;
int a=10;
int*pa;
int*pa;
pa=&a;
pa=&a;
II. CÁC THAO TÁC:
II. CÁC THAO TÁC:

