Tinhọcđạicương - bài 10: bộ nhớ động kiểu dữ liệu co cấu trúc
Số trang: 24
Loại file: ppt
Dung lượng: 644.50 KB
Lượt xem: 11
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
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.hCác hàm cấp phát và giải phóng bộ nhớHàm mallocHàm callocHàm reallocHàm free
Nội dung trích xuất từ tài liệu:
Tinhọcđạicương - bài 10: bộ nhớ động kiểu dữ liệu co cấu trúcwww.uit.edu.vn TINHỌCĐẠICƯƠNG BÀI 10 BỘ NHỚ ĐỘNG KIỂU DỮ LIỆU CÓ CẤU TRÚC 1 NỘI DUNG 9 CẤP PHÁT VÀ GIẢI PHÓNG BỘ NHỚ ĐỘNGTinhọcđạicương 2 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 freeTinhọcđạicương 3 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 callocTinhọcđạicương Hàm realloc Hàm free 4 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:Tinhọcđạicương void free(void *ptr); 5 VÍ DỤ #include #include #include void main(void) { char *str; /* allocate memory for string */ str = (char *) malloc(10); /* copy Hello to string */ strcpy(str, Hello); /* display string */ printf(String is %s , str);Tinhọcđạicương /* free memory */ free(str); } 6 HÀM CALLOC VÀ REALLOC Bên cạnh hàm malloc, một vùng nhớ còn có thể được cấp phát bằng hàm calloc và cấp phát lại bằng hàm realloc. Hàm calloc cấp phát một vùng nhớ có kích thước nitems* size bytes. void *calloc(size_t nitems, size_t size); Hàm realloc điều chỉnh lại vùng nhớ đã được cấp phát block, với kích thước mới là size bytes.Tinhọcđạicương void *realloc(void* block, size_t size); 7 BỘ NHỚ ĐỘNG VÀ MẢNG 1 CHIỀU Cấp phát vùng nhớ n phần tử cho biến con trỏ int *a : a = (int *)malloc(n*sizeof(int)); a =(int *)calloc(n, sizeof(int)); Kiểm tra cấp phát thành công và thực hiện các thao tác tiếp (như đối với mảng): if(a!=NULL) { // dùng như mảng cho a[0], a[1], … …………Tinhọcđạicương free(a); } 8 BỘ NHỚ ĐỘNG VÀ MẢNG 2 CHIỀU a = (int **)malloc(m*sizeof(int *)); if(a!=NULL) { kt=0; for(i=0; i NỘI DUNG 10 KIỂU DỮ LIỆU CÓ CẤU TRÚCTinhọcđạicương 10 NỘI DUNG BÀI KIỂU CẤU TRÚC Khái niệm Khai báo kiểu cấu trúc struct Mảng và con trỏ cấu trúc Truy xuất các thành phần của cấu trúc Kiểu cấu trúc và hàm Ví dụ minh họaTinhọcđạicương 11 KHÁI NIỆM Kiểu ...
Nội dung trích xuất từ tài liệu:
Tinhọcđạicương - bài 10: bộ nhớ động kiểu dữ liệu co cấu trúcwww.uit.edu.vn TINHỌCĐẠICƯƠNG BÀI 10 BỘ NHỚ ĐỘNG KIỂU DỮ LIỆU CÓ CẤU TRÚC 1 NỘI DUNG 9 CẤP PHÁT VÀ GIẢI PHÓNG BỘ NHỚ ĐỘNGTinhọcđạicương 2 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 freeTinhọcđạicương 3 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 callocTinhọcđạicương Hàm realloc Hàm free 4 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:Tinhọcđạicương void free(void *ptr); 5 VÍ DỤ #include #include #include void main(void) { char *str; /* allocate memory for string */ str = (char *) malloc(10); /* copy Hello to string */ strcpy(str, Hello); /* display string */ printf(String is %s , str);Tinhọcđạicương /* free memory */ free(str); } 6 HÀM CALLOC VÀ REALLOC Bên cạnh hàm malloc, một vùng nhớ còn có thể được cấp phát bằng hàm calloc và cấp phát lại bằng hàm realloc. Hàm calloc cấp phát một vùng nhớ có kích thước nitems* size bytes. void *calloc(size_t nitems, size_t size); Hàm realloc điều chỉnh lại vùng nhớ đã được cấp phát block, với kích thước mới là size bytes.Tinhọcđạicương void *realloc(void* block, size_t size); 7 BỘ NHỚ ĐỘNG VÀ MẢNG 1 CHIỀU Cấp phát vùng nhớ n phần tử cho biến con trỏ int *a : a = (int *)malloc(n*sizeof(int)); a =(int *)calloc(n, sizeof(int)); Kiểm tra cấp phát thành công và thực hiện các thao tác tiếp (như đối với mảng): if(a!=NULL) { // dùng như mảng cho a[0], a[1], … …………Tinhọcđạicương free(a); } 8 BỘ NHỚ ĐỘNG VÀ MẢNG 2 CHIỀU a = (int **)malloc(m*sizeof(int *)); if(a!=NULL) { kt=0; for(i=0; i NỘI DUNG 10 KIỂU DỮ LIỆU CÓ CẤU TRÚCTinhọcđạicương 10 NỘI DUNG BÀI KIỂU CẤU TRÚC Khái niệm Khai báo kiểu cấu trúc struct Mảng và con trỏ cấu trúc Truy xuất các thành phần của cấu trúc Kiểu cấu trúc và hàm Ví dụ minh họaTinhọcđạicương 11 KHÁI NIỆM Kiểu ...
Tìm kiếm theo từ khóa liên quan:
Tinhọcđạicương sử dụng máy tính tin học căn bản kỹ năng văn phòng thủ thuật máy tính khoa học máy tínhGợi ý tài liệu liên quan:
-
Tóm tắt Đồ án tốt nghiệp Khoa học máy tính: Xây dựng ứng dụng quản lý quán cà phê
15 trang 475 1 0 -
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 378 6 0 -
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 315 0 0 -
Làm việc với Read Only Domain Controllers
20 trang 305 0 0 -
32 trang 230 0 0
-
Sửa lỗi các chức năng quan trọng của Win với ReEnable 2.0 Portable Edition
5 trang 213 0 0 -
Xử lý tình trạng máy tính khởi động/tắt chậm
4 trang 211 0 0 -
Giáo trình Bảo trì hệ thống và cài đặt phần mềm
68 trang 207 0 0 -
UltraISO chương trình ghi đĩa, tạo ổ đĩa ảo nhỏ gọn
10 trang 203 0 0 -
Phần III: Xử lý sự cố Màn hình xanh
3 trang 203 0 0