Con trỏLê Thúy Ngọc... Biến con trỏchỉ của 1 biến khác... Khai báo biến con trỏ... không bao giờ... phép toán số học trên con trỏ... Phép gán thông qua con trỏ.
Trang 1Con trỏ
Lê Thúy Ngọc
Trang 2 int a;
a = 5;
Tên biến: a KDL: int
Giá trị: giá trị rác
0101 0000
0000 0000
Trang 4Biến con trỏ
chỉ của 1 biến khác
và 4B (Win)
Trang 5Khai báo biến con trỏ
Trang 7Toán tử &
& <biến thường>
Cho địa chỉ ô nhớ dành cho biến đi kèm
VD:
int m, *p;
&m: //cho địa chỉ của biến m (địa chỉ của byte đầu tiên của biến m)
scanf(“%d”, &m); Å 5 //đặt vào ô nhớ có địa chỉ là (&m) giá trị 5
p = &m; //p trỏ đến m (p chứa địa chỉ của m)
scanf(“%d”, p); Å 5 //đặt 5 vào ô nhớ có địa chỉ là p
Trang 8Minh hoạ
12 5
<24>
<12>
p (m)
12 5
p (m)
Trang 11q = &(*px) <=>q =p;
Đặt 5 vào ô nhớ mà
px trỏ tới Đến ô nhớ mà px trỏ tới lấy nội dung
Khi biết địa chỉ 1 biến thì có thể làm thay đổi
giá trị của biến
Trang 14không bao giờ
Trang 15phép toán số học trên con trỏ
Trang 16Minh hoạ
12 5
<24>
<12>
p (m)
12 5
<36>
<32>
<28>
q p
(m)
Trang 18toán tử
toán tử
cách giữa 2 ô nhớ mà 2 con trỏ trỏ tới
q – p = (<36>-<24>)/sizeof(int)=3
Trang 23Truy cập thông qua con trỏ
con trỏ theo 1 trong 2 cách:
&ps4; các cách viết sau là tương đương:
ps1Ætu và (*ps1).tu và ps4.tu
Trang 24Phép gán thông qua con trỏ