Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
Đây là câu trả lời đã được xác thực
Câu trả lời được xác thực chứa thông tin chính xác và đáng tin cậy, được xác nhận hoặc trả lời bởi các chuyên gia, giáo viên hàng đầu của chúng tôi.
Ưu điểm:
+ Số phần tử của mảng được cấp phát động thì không nhất thiết phải cố định
+ Mảng được cấp phát trên vùng nhớ Heap, mà vùng nhớ này là vùng nhớ lớn nhất nên có thể khai báo mảng đấy có nhiều phần tử
+ Thay đổi được size của mảng, vốn dĩ cú pháp cũng giống con trỏ, có dấu * nên muốn tăng size mảng thì chỉ cần chạy con trỏ tới 1 vùng nhớ size lớn hơn
Nhược điểm:
+ Vùng nhớ Heap dù lớn nhưng khi truy xuất lại rất nhậm (không nhanh bằng vùng nhớ Stack) => truy xuất trong cấp phát động sẽ chậm hơn thường
+ Phải tự quản lý bộ nhớ được cấp phát động, không giống như cách thường là tự động giải phóng thì cách cấp phát động bạn phải tự giải phóng bộ nhớ, nếu không giải phóng thì có thể gây lãng phí bộ nhớ hoặc tràn bộ nhớ
Cách sử dụng:
<kiểu dữ liệu> *<array>=new <kiểu dữ liệu>[<số phần tử>];
Để giải phóng: delete []<array>;
Ví dụ tên mảng là a, thuộc kiểu số nguyên và có số phần tử là 1000:
int *a=new int[1000];
delete []a;
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
2289
45092
1741
pointer -> cấp phát động -> bit operator -> struct
463
4999
311
đug òi
2289
45092
1741
thấy struct dễ nhất :">
463
4999
311
uk struct thấy cx khá giống class trong oop
2289
45092
1741
OOP còn có tính trừu tượng, kế thừa, đóng gói, đa hình, biến tĩnh, phương thức tĩnh, mối quan hệ giữa các đối tượng ._.
463
4999
311
cs đứa sao của mod kìa :))
463
4999
311
thông minh thế chứ lị
2289
45092
1741
Để xử lý