Log In
Cách cấp phát bộ nhớ cho mảng động 2 chiều?
Anh Đạt bảo không nên cấp phát bộ nhớ cho mảng 2 chiều, mà dùng struct.
Em học C++ thì lúc trước anh bảo, C++ chỉ dùng class, ko dùng struct.
Anh Sơn bảo, đã học về con trỏ mảng động, bài tập về sau thì không nên dùng mảng tĩnh nữa.
Vậy anh Sơn và anh Đạt + anh chị sư huynh sư tỷ vào giúp em vấn đề này đi ạ.
Nhanh_Lan_R_ng:
Nhanh_Lan_R_ng:
Em học C++
Vậy thì dùng class.
Nhanh_Lan_R_ng:
Nhanh_Lan_R_ng:
không nên dùng mảng tĩnh nữa.
Tùy trường hợp, nếu cần xử lý nhanh, ngắn gọn, số lượng phần tử xác định thì dùng mảng tĩnh tốt hơn và an toàn hơn.
Trường hợp của em là gì?
Em chỉ muốn cấp phát để nhập, xuất, xóa, thêm thôi anh. Tự dưng xem xong bài con trỏ, em hứng thú rất nhiều với con trỏ và mảng động, nên muốn học cách áp dụng tốt cơ bản về nó.
1 Like
Vậy em làm với mảng một chiều, đừng quan tâm đến mảng động 2 chiều.
Mảng 1 chiều thì em có thể nắm bắt nhập xuất, thêm, xóa rồi anh. Bài giảng của anh Sơn giảng khá chi tiết nên không khó lắm ạ.
1 Like
Về cơ bản thì nó như lày:
#include <iostream>
using namespace std;
int main()
{
int** a;
a = new int*[10];
for(int i = 0; i < 10; i++)
a[i] = new int[10];
for(int i = 0; i < 10; i++)
{
for(int j = 0; j < 10; j++)
{
a[i][j] = i+j;
cout << a[i][j] << " ";
}
cout << endl;
}
for(int i = 0; i < 10; i++)
{
delete[] a[i];
}
delete[] a;
return 0;
}
8 Likes
tuỳ nhu cầu thôi! mảng tĩnh chạy lẹ và nội dung được đảm bảo. Mảng động thì ta chưa biết hoặc ta biết rồi nhưng cần thay đổi theo ý người dùng! xài nhiều khắc biết à! đừng hoang mang vậy chứ
1 Like
Mảng động chỉ dùng khi ta không biết số lượng phần từ, vả số lượng phần tử có thể giao động trong một khoảng rất lớn.
Còn nếu số lượng phần tử ít hoặc không thay đổi thì ta nên dùng mảng tĩnh. An toàn hơn.
4 Likes
Home
Categories
FAQ/Guidelines
Terms of Service
Privacy Policy
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?