
Lập trình nâng cao -Chương 07 -Ngô Công Thắng 1
Chương 7. Con trỏ
I. Địachỉvàcontrỏ
II.Contrỏ,mảngvàxâukýtự
III.Quảnlýbộnhớvớihàmmalloc()vàfree()
IV.Bàitậpchương7

Lập trình nâng cao -Chương 07 -Ngô Công Thắng 2
I. Địa chỉ và con trỏ
1. Địachỉ(hằngcontrỏ)
2.Toántửđịachỉ&
3.Khaibáobiếncontrỏ
4.Truynhậpbiếnquacontrỏ
5.Contrỏvoid vàcontrỏNULL
6.Cácphéptoántrêncontrỏ
7.Contrỏtrỏtớicontrỏ

Lập trình nâng cao -Chương 07 -Ngô Công Thắng 3
1. Địa chỉ (hằng con trỏ)
†Mỗibytetrongbộnhớmáytínhcómộtđịa
chỉ.Các địachỉnàylàcácsốbắtđầutừ0trở
đi.Vídụcó1MBbộnhớthì địachỉthấp
nhấtlà0và địachỉcaonhấtlà1.048.575.
†Bấtkỳchươngtrìnhnàokhi đượcnạpvàobộ
nhớđềuchiếmmộtkhoảng địachỉ.Điềuđó
cónghĩalàmọibiếnvàmọihàmtrong
chươngtrình đềubắtđầutạimộtđịachỉcụ
thể.Hình7.1chothấycác địachỉbộnhớ.

Lập trình nâng cao -Chương 07 -Ngô Công Thắng 4
1. Địa chỉ (hằng con trỏ) tiếp
Hình7.1 Địachỉbộnhớ
0
chương
trình
655.359 var1
var2
var3
var4
int
char
float
int
314.810
314.809
314.808
314.807
314.806
314.805
314.804
314.803
314.802
314.801
314.800
314.799
var1 có địa chỉ 314.809
var2 có địa chỉ 314.808
var3 có địa chỉ 314.804
var4 có địa chỉ 314.802

Lập trình nâng cao -Chương 07 -Ngô Công Thắng 5
2. Toán tử địa chỉ &
†Toántửđịachỉkýhiệulà&, đượcdùng
để lấyđịachỉcủamộtbiến.Toántử&
phảiđặttrướctênbiếnmuốnlấyđịachỉ.
Vídụ:Chươngtrìnhsausẽđưara địa
chỉcủa3biếnnguyêna,b,c.