Slide 1 Trần Quang © 2016 Kỹ thuật lập trình 1 Chương 06 Con trỏ Chương 07 CON TRỎ Trần Quang © 2016 Kỹ thuật lập trình 2 Chương 06 Con trỏ Nội dung Tổ chức bộ nhớ Ứng dụng của con trỏ Mô hình của con trỏ Toán tử Khai báo trỏ Toán tử Các phép toán Con trỏ và mảng Cấp phát bộ nhớ động Con trỏ và cấu trúc, toán tử > Các chủ đề nâng cao với con trỏ Thứ tự đánh giá và ++, Con trỏ và const Con trỏ đến con trỏ Con trỏ void Trần Quang © 2016 Kỹ thuật lập trình 3 Chươ.
Trang 9 Khi thêm vào và xóa các ph n t trên m ng , c n
ph i d ch ph i và trái nhi u ph n t t n nhi u
th i gian
Yêu c u: Có cách t ch c d li u nào giúp các
phép qu n lý ph n t nói trên nhanh chóng
Gi i pháp:
S d ng danh sách liên k t dùng con tr
Trang 13Khai bứo con tr
<Tên ki u> *<tên bi n>;
<Tên ki u> *<tên bi n> = 0; //NULL
<Tên ki u> *<tên bi n> = &<tên bi n b>;
Ví d :
int *p3 = &a; // con tr đ n s nguyên, giá tr là đ a ch
c a bi n a
Trang 16Cức phép toứn trên con tr
Trang 24C p phát b nh đ ng
int *p1;
float *p2;
int n = 100;
p1 = (int*) malloc (n * sizeof(int));
p2 = (float*) malloc (n * sizeof(float));
free(p1); free(p2);
xin c p phát b nh
Trang 27(2) Khai báo con tr đ n m t m ng
(3) Xin c p phát b nh trên HEAP,
p_ptr: gi đ a ch c a ô nh đ u tiên trong vùng đ c c p
(5) Gi i phóng vùng nh