Mendeklarasikan Array Multidimensi di C++ tanpa Ukuran
Dalam bahasa pemrograman C++, Anda dapat mendeklarasikan array multidimensi tanpa menentukan ukuran untuk semua dimensinya. Namun, Anda perlu menentukan ukuran untuk setidaknya satu dimensi.
Berikut adalah contohnya:
#include
int main() {
// Deklarasi array multidimensi dengan ukuran baris yang tidak ditentukan
int arr[][3];
// Menentukan ukuran baris secara dinamis
int numRows = 2;
// Alokasi memori untuk array dengan ukuran baris yang ditentukan
arr = new int[numRows][3];
// Mengisi array dengan nilai
for (int i = 0; i < numRows; i++) {
for (int j = 0; j < 3; j++) {
arr[i][j] = i * 3 + j;
}
}
// Mencetak isi array
for (int i = 0; i < numRows; i++) {
for (int j = 0; j < 3; j++) {
std::cout << arr[i][j] << " ";
}
std::cout << std::endl;
}
// Melepaskan memori yang dialokasikan
delete[] arr;
return 0;
}
Penjelasan:
-
Deklarasi Array:
int arr[][3];
mendeklarasikan array multidimensiarr
dengan ukuran kolom3
. Ukuran baris tidak ditentukan.
-
Menentukan Ukuran Baris:
int numRows = 2;
menetapkan jumlah baris yang ingin Anda gunakan untuk array.
-
Alokasi Memori:
arr = new int[numRows][3];
mengalokasikan memori untuk arrayarr
dengan ukurannumRows
baris dan3
kolom.
-
Mengisi Array:
- Loop bersarang digunakan untuk mengisi array dengan nilai.
-
Mencetak Isi Array:
- Loop bersarang digunakan untuk mencetak nilai dari array.
-
Melepaskan Memori:
delete[] arr;
melepaskan memori yang dialokasikan untuk arrayarr
untuk menghindari kebocoran memori.
Keuntungan:
- Fleksibilitas: Anda dapat menentukan ukuran baris array secara dinamis sesuai dengan kebutuhan Anda.
- Efisiensi: Anda dapat mengalokasikan memori hanya untuk jumlah baris yang Anda butuhkan.
Catatan:
- Anda harus mengalokasikan memori untuk array dengan menggunakan operator
new
sebelum Anda dapat mengakses atau mengubah elemennya. - Anda juga harus melepaskan memori yang dialokasikan dengan menggunakan operator
delete
untuk menghindari kebocoran memori.
Dengan menggunakan metode ini, Anda dapat mendeklarasikan array multidimensi di C++ tanpa menentukan ukuran untuk semua dimensinya, memungkinkan Anda untuk lebih fleksibel dalam mengalokasikan memori dan mengelola data Anda.