Cách cấp phát bộ nhớ cho mảng động 2 chiều?

Sign Up

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ứ :wink:

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?