
1
TIN HỌC ĐẠI CƯƠNG
www.uit.edu.vn
BÀI 10
BÀI 10
B NH Đ NGỘ Ớ Ộ
B NH Đ NGỘ Ớ Ộ
KI U D LI U CÓ C U TRÚCỂ Ữ Ệ Ấ
KI U D LI U CÓ C U TRÚCỂ Ữ Ệ Ấ

Tin học đại cương
2
C P PHÁT VÀ GI I PHÓNG B NH Đ NGẤ Ả Ộ Ớ Ộ9
N I DUNGỘ
N I DUNGỘ

Tin học đại cương
3
N I DUNG BÀI B NH Đ NGỘ Ộ Ớ Ộ
N I DUNG BÀI B NH Đ NGỘ Ộ Ớ Ộ
Khái ni m bi n “đ ng”ệ ế ộ
Các hàm c p phát b nh ấ ộ ớ
Hàm malloc
Hàm calloc
Hàm realloc
Hàm gi i phóng b nhả ộ ớ
Hàm free

Tin học đại cương
4
BI N Đ NGẾ Ộ
BI N Đ NGẾ Ộ
Bi n đ ng là bi n đ c “t o” ra khi ch y ế ộ ế ượ ạ ạ
ch ng trình. Thông qua con tr , vùng nh ươ ỏ ớ
bi n đ c c p phát và qu n lý.ế ượ ấ ả
Các hàm thao tác vùng nh trên C đ c đ nh ớ ượ ị
nghĩa trong th vi n ư ệ stdlib.h ho c ặalloc.h
Các hàm c p phát và gi i phóng b nhấ ả ộ ớ
Hàm malloc
Hàm calloc
Hàm realloc
Hàm free

Tin học đại cương
5
HÀM MALLOC / HÀM FREE
HÀM MALLOC / HÀM FREE
Ch c năng c a hàm ứ ủ malloc là g i c p phát m t ọ ấ ộ
vùng nh có kích th c ớ ướ size:
void *malloc(size_t size);
Ví dụ:
int *p;
p=(int *) malloc(100);
p=(int *) malloc(80*sizeof(int));
Hàm free đ c dùng đ gi i phóng m t vùng ượ ể ả ộ
nh đã đ c c p phát thông qua con tr ớ ượ ấ ỏ prt:
void free(void *ptr);