Bài giảng Kỹ thuật lập trình: Quản lý và sử dụng bộ nhớ động - ThS. Đặng Bình Phương (ĐH Khoa học Tự nhiên)

30 63 0
Bài giảng Kỹ thuật lập trình: Quản lý và sử dụng bộ nhớ động - ThS. Đặng Bình Phương (ĐH Khoa học Tự nhiên)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Kỹ thuật lập trình: Quản lý và sử dụng bộ nhớ động cung cấp cho người học các kiến thức: Mảng động trong thư viện chuẩn, khái niệm về con trỏ, dữ liệu có cấu trúc (dạng struct hay union) và con trỏ, cấp phát và sử dụng dữ liệu động, đồ án lập trình,... Mời các bạn cùng tham khảo nội dung chi tiết,

Kỹ thuật lập trình ThS Đặng Bình Phương (dbphuong@fit.hcmus.edu.vn) CuuDuongThanCong.com https://fb.com/tailieudientucntt  Mảng động thư viện chuẩn  Khái niệm trỏ  Dữ liệu có cấu trúc (dạng struct hay union) trỏ  Cấp phát sử dụng liệu động  Đồ án lập trình  Các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp  Thuật ngữ tiếng Anh đọc thêm tiếng Anh 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt CuuDuongThanCong.com https://fb.com/tailieudientucntt • Do chịu ảnh hưởng NNLT C nên NNLT C++ có quy định không dễ dàng sử dụng liệu động người lập trình trường hợp mảng động nhiều chiều • Kiểu vector thư viện chuẩn STL (Standard Template Library) phục vụ cho việc lập trình với liệu động 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt • Để lập trình với kiểu vector C++ STL, cần phải có thị sau đầu chương trình: #include using namespace std; • Các phương thức thường dùng: – size(): trả kích thước hành mảng – resize(int newsize): thay đổi kích thước mảng – push_back(T x): thêm phần tử x có kiểu T vào cuối mảng (mảng tự động thay đổi kích thước) – pop_back(): xóa phần tử cuối mảng (mảng tự động thay đổi kích thước) 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt • Kích thước mảng xác định từ đầu #include #include using namespace std; void main() { int i, n; vector a; cout > n; a.resize(n); for (i = 0; i < n; i++) { cout n; for (i = 0; i < n; i++) { cout m >> n; a.resize(m); for (i = 0; i < m; i++) a[i].reisze(n); } 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt CuuDuongThanCong.com https://fb.com/tailieudientucntt • Bộ nhớ máy tính – Bộ nhớ RAM chứa nhiều ô nhớ, nhớ có kích thước byte – RAM dùng để chứa phần hệ điều hành, lệnh chương trình, liệu… – Mỗi nhớ có địa địa đánh số từ trở 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt 10 • Thành phần cấu trúc có kích thước theo bit struct bit_fields { int bit_0 : 1; int bit_1_to_4 : 4; int bit_5 : 1; int bit_6_to_15 : 10; }; 15 14 13 12 11 10 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Trong C (sử dụng thư viện ) – malloc – calloc – realloc – free • Trong C++ – new – delete 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt 18 void *malloc(size_t size) Cấp phát HEAP vùng nhớ size (bytes) size_t thay cho unsigned (trong ) Thành công: Con trỏ đến vùng nhớ cấp phát Thất bại: NULL (không đủ nhớ) int *p = (int *)malloc(10 * sizeof(int)); if (p == NULL) cout

Ngày đăng: 11/01/2020, 20:37

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan