Array masuk C++: Deklarasi, Inisialisasi & Pointer (Contoh)
⚡ Ringkasan Cerdas
Sebuah array di C++ Array adalah kumpulan elemen dengan tipe data yang sama yang disimpan di lokasi memori yang berdekatan. Di sini Anda akan belajar cara mendeklarasikan, menginisialisasi, dan mengakses array, tipe-tipe array, serta kelebihan dan kekurangannya.
Apa itu Array?
Array adalah struktur data yang menyimpan elemen dengan tipe data yang sama secara berurutan. A C++ array memiliki ukuran tetap.
Anda dapat melihat array sebagai kumpulan variabel dengan tipe data serupa. Daripada mendeklarasikan setiap variabel dan memberikan nilai satu per satu, Anda dapat mendeklarasikan satu variabel (array) dan menambahkan nilai dari berbagai variabel ke dalamnya. Setiap nilai tambah pada array diidentifikasi oleh indeks.
Mengapa kita memerlukan array?
Array sangat penting dalam bahasa pemrograman apa pun. Mereka menyediakan cara yang lebih nyaman untuk menyimpan variabel atau kumpulan data dengan tipe data serupa secara bersamaan daripada menyimpannya secara terpisah. Setiap nilai array akan diakses secara terpisah.
Deklarasikan array di C++
Deklarasi array di C++ melibatkan menyatakan tipe serta jumlah elemen yang akan disimpan oleh array. Sintaksis:
type array-Name [ array-Size ];
Aturan untuk mendeklarasikan array berdimensi tunggal di C++.
- Tipe: Tipenya adalah tipe elemen yang akan disimpan dalam array, dan harus valid C++ tipe data.
- Nama Array: Nama array adalah nama yang akan ditetapkan ke array.
- Ukuran Array: Ukuran array adalah jumlah elemen yang akan disimpan dalam array. Itu harus bilangan bulat dan lebih besar dari 0.
Misalnya, Anda dapat membuat array bernama age dan menyimpan usia 5 siswa sebagai berikut:
int age[5];
Array age akan menyimpan 5 bilangan bulat yang mewakili usia siswa yang berbeda.
Inisialisasi Array
Inisialisasi array adalah proses menugaskan/menyimpan elemen ke array. Inisialisasi dapat dilakukan dalam satu pernyataan atau satu per satu. Perhatikan bahwa elemen pertama dalam array disimpan pada indeks 0, sedangkan elemen terakhir disimpan pada indeks n-1, di mana n adalah jumlah total elemen dalam array.
Dalam kasus array age, elemen pertama akan disimpan pada indeks 0, sedangkan elemen terakhir akan disimpan pada indeks 4.
Mari kita gunakan array age untuk mendemonstrasikan bagaimana inisialisasi array dapat dilakukan:
int age[5] = {19, 18, 21, 20, 17};
Jumlah total elemen dalam {} } tidak boleh melebihi nilai yang dinyatakan dalam [ ]. Elemen 19 berada pada indeks 0, 18 pada indeks 1, 21 pada indeks 2, 20 pada indeks 3, dan 17 pada indeks 4. Jika Anda tidak menyatakan jumlah elemen yang akan disimpan dalam array di dalam [ ], maka array hanya akan cukup besar untuk menampung elemen yang ditambahkan dalam {}. Misalnya:
int age[] = {19, 18, 21, 20, 17};
Pernyataan di atas akan membuat array yang sama persis dengan yang sebelumnya. Anda juga dapat menetapkan satu elemen ke array menggunakan indeksnya. Misalnya:
age[3] = 20;
Pernyataan di atas akan menyimpan nilai 20 pada indeks 3 dari array bernama age. Artinya 20 akan menjadi 4th elemen larik.
Jenis Array
Ada dua jenis C++ array:
- Array satu dimensi
- Array Multi Dimensi
- Penunjuk ke Array
Array Satu Dimensi
Ini adalah array yang item datanya disusun secara linier dalam satu dimensi saja. Ini biasa disebut array 1-D. Sintaksis:
datatype array-name[size];
- Nama array adalah nama array.
- Ukurannya adalah jumlah item yang akan disimpan dalam array.
Sebagai contoh:
#include <iostream> using namespace std; int main() { int age[5] = { 19, 18, 21, 20, 17 }; for (int x = 0; x < 5; x++) { cout <<age[x]<<"\n"; } }
Keluaran:
Berikut ini tangkapan layar kodenya:
Code Penjelasan:
- Menyertakan file header iostream dalam kode kita. Ini akan memungkinkan kita membaca dan menulis ke konsol.
- Menyertakan namespace std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
- Memanggil fungsi main() yang didalamnya logika program harus ditambahkan.
- Awal dari isi fungsi main().
- Mendeklarasikan array bernama age untuk menyimpan 5 bilangan bulat. 5 bilangan bulat juga telah diinisialisasi.
- Buat variabel integer x menggunakan for loop.
- Awal dari badan perulangan for.
- Menggunakan variabel loop x untuk mengulangi nilai array age dan mencetaknya di konsol. “\n” adalah karakter baris baru dan dicetak di baris baru setelah setiap iterasi.
- Ujung tubuh untuk loop.
- Akhir dari isi fungsi main().
Array Multi Dimensi
Ini adalah larik yang item datanya disusun membentuk larik larik. Array multidimensi dapat memiliki sejumlah dimensi, namun array dua dimensi dan tiga dimensi adalah hal yang umum. Sintaksis:
datatype array-name[d1][d2][d3]...[dn];
Nama array adalah nama array yang memiliki n dimensi. Misalnya:
Array Dua Dimensi
Array 2D menyimpan data dalam daftar dengan array 1-D. Array 2D adalah matriks dengan baris dan kolom. Untuk mendeklarasikan array XNUMXD, gunakan sintaks berikut:
type array-Name [ x ][ y ];
Jenisnya harus valid C++ tipe data. Lihat array 2D sebagai tabel, di mana x menunjukkan jumlah baris sedangkan y menunjukkan jumlah kolom. Ini berarti Anda mengidentifikasi setiap elemen dalam array 2D menggunakan bentuk a[x][y], dengan x adalah jumlah baris dan y adalah jumlah kolom di mana elemen tersebut berada.
Berikut ini contoh cara menginisialisasi array 2D:
int a[2][3] = {
{0, 2, 1} , /* row at index 0 */
{4, 3, 7} , /* row at index 1 */
};
Dalam contoh di atas, kita memiliki array 2D yang dapat dilihat sebagai matriks 2×3. Terdapat 2 baris dan 3 kolom. Elemen 0 dapat diakses sebagai a[0][1] karena terletak pada perpotongan antara baris berindeks 0 dan kolom berindeks 1. Elemen 3 dapat diakses sebagai a[1][2] karena terletak di perpotongan baris berindeks 1 dan kolom berindeks 2.
Perhatikan bahwa kami hanya menambahkan kurung kurawal untuk membedakan baris elemen yang berbeda. Inisialisasi juga bisa dilakukan sebagai berikut:
int a[2][3] = {0, 2, 1, 4, 3, 7};
};
Berikut ini C++ contoh menunjukkan cara menginisialisasi dan melintasi array 2D:
#include <iostream> using namespace std; int main() { // a 2x3 array int a[3][2] = { {0, 2}, {1, 4}, {3, 7} }; // traverse array elements for (int i=0; i<3; i++) for (int j=0; j<2; j++) { cout << "a[" <<i<< "][" <<j<< "]: "; cout << a[i][j] << endl; } return 0; }
Keluaran:
Berikut ini screenshot dari kode di atas:
Code Penjelasan:
- Menyertakan file header iostream dalam kode kita. Ini akan memungkinkan kita membaca dan menulis ke konsol.
- Menyertakan namespace std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
- Memanggil fungsi main() yang kodenya harus ditambahkan.
- Awal dari isi fungsi main().
- Sebuah komentar. Itu C++ kompiler akan melewatkan ini.
- Mendeklarasikan array 2D yang terdiri dari 3 baris dan 2 kolom. Item juga telah ditambahkan ke array.
- Sebuah komentar. Itu C++ kompiler akan melewatkan ini.
- Membuat variabel saya menggunakan for loop. Variabel ini akan mengulangi indeks baris array.
- Membuat variabel j menggunakan for loop. Variabel ini akan mengulangi indeks kolom array.
- Mulai dari badan loop.
- Cetak nilai variabel i dan j pada konsol di dalam tanda kurung siku pada konsol.
- Cetak nilai yang disimpan pada indeks [i][j] dari array a.
- Akhir dari badan loop.
- Fungsi main() harus mengembalikan nilai integer jika program berjalan dengan baik.
- Akhir dari isi fungsi main().
Array Tiga Dimensi
Array 3D adalah array dari array. Setiap elemen dalam array 3D diidentifikasi oleh sekumpulan 3 indeks. Untuk mengakses elemen array 3D, kami menggunakan tiga loop for. Misalnya:
#include<iostream> using namespace std; void main() { int a[2][3][2] = {{{4, 8},{2, 4},{1, 6}}, {{3, 6},{5, 4},{9, 3}}}; cout << "a[0][1][0] = " << a[0][1][0] << "\n"; cout << "a[0][1][1] = " << a[0][1][1] << "\n"; }
Keluaran:
Berikut ini tangkapan layar kodenya:
Code Penjelasan:
- Menyertakan file header iostream dalam kode kita. Ini akan memungkinkan kita membaca dan menulis ke konsol.
- Menyertakan namespace std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
- Memanggil fungsi main() yang didalamnya logika program harus ditambahkan.
- Awal dari isi fungsi main().
- Mendeklarasikan array 3D bernama ukuran 2x3x2. Nilai array juga telah diinisialisasi.
- Mengakses item yang disimpan pada indeks [0] [1] [0] dari array dan mencetaknya di konsol.
- Mengakses item yang disimpan pada indeks [0] [1] [1] dari array dan mencetaknya di konsol.
- Akhir dari isi fungsi main().
Penunjuk ke Array
A petunjuk adalah variabel yang menyimpan alamat. Selain menggunakan pointer untuk menyimpan alamat suatu variabel, kita juga dapat menggunakannya untuk menyimpan alamat sel array. Nama array selalu menunjuk ke elemen pertamanya. Perhatikan deklarasi yang diberikan di bawah ini:
int age[5];
Age adalah pointer ke $age[0], alamat elemen pertama dari array bernama age. Perhatikan contoh berikut:
#include <iostream> using namespace std; int main() { int *john; int age[5] = { 19, 18, 21, 20, 17 }; john = age; cout << john << "\n"; cout << *john; }
Keluaran:
Perhatikan bahwa nilai pertama dari output di atas mungkin menghasilkan nilai yang berbeda tergantung pada alamat yang ditetapkan ke elemen pertama array di memori komputer Anda.
Berikut ini tangkapan layar kodenya:
Code Penjelasan:
- Menyertakan file header iostream dalam kode kita. Ini akan memungkinkan kita membaca dan menulis ke konsol.
- Menyertakan namespace std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
- Memanggil fungsi main() yang didalamnya logika program harus ditambahkan.
- Awal dari isi fungsi main().
- Mendeklarasikan variabel pointer bernama *john.
- Mendeklarasikan array bilangan bulat bernama age untuk menyimpan 5 bilangan bulat. Nilai bilangan bulat juga telah diinisialisasi.
- Menetapkan variabel john nilai alamat item yang disimpan dalam indeks pertama array age.
- Mencetak nilai variabel john, yang merupakan alamat item yang disimpan dalam indeks pertama array age.
- Mencetak nilai pertama yang disimpan dalam array age.
- Akhir dari isi fungsi main().
Nama array dapat digunakan sebagai pointer konstan, dan sebaliknya juga berlaku. Ini berarti Anda dapat mengakses nilai yang disimpan pada indeks 3 array age dengan *(age + 3). Misalnya:
#include <iostream> using namespace std; int main() { // an array of 5 elements. int age[5] = { 19, 18, 21, 20, 17 }; int *p; p = age; // output array values cout << "Using pointer: " << endl; for (int x=0; x<5; x++) { cout << "*(p + " << x << ") : "; cout << *(p + x) << endl; } cout << "Using age as address: " << endl; for (int x = 0; x < 5; x++) { cout << "*(age + " << x << ") : "; cout << *(age + x) << endl; } return 0; }
Keluaran:
Berikut ini tangkapan layar kodenya:
Code Penjelasan:
- Menyertakan file header iostream dalam kode kita. Ini akan memungkinkan kita membaca dan menulis ke konsol.
- Menyertakan namespace std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
- Memanggil fungsi main() dan awal isi fungsi main().
- Sebuah komentar. Itu C++ kompiler akan melewatkan ini.
- Mendeklarasikan array bernama age untuk menyimpan 5 bilangan bulat.
- Membuat penunjuk bilangan bulat p.
- Menetapkan p nilai alamat elemen pertama array age.
- Sebuah komentar. Itu C++ kompiler akan melewatkan ini.
- Cetak beberapa teks di konsol.
- Buat bilangan bulat x menggunakan perulangan for. Tanda { menandai awal badan perulangan for.
- Cetak nilai x yang digabungkan dengan beberapa teks lain di konsol.
- Cetak nilai *(p + x) di konsol.
- Akhir dari badan perulangan for.
- Cetak beberapa teks di konsol.
- Buat variabel x menggunakan perulangan for. Tanda { menandai awal badan perulangan for.
- Cetak nilai x dari 0 hingga 4 di samping beberapa teks lainnya.
- Cetak nilai *(usia + x).
- Akhir dari badan perulangan for.
- Kembalikan nilai jika program berhasil dijalankan.
- Akhir dari isi fungsi main().
Mengakses nilai Array
Elemen-elemen array diakses menggunakan indeksnya masing-masing. Indeks elemen yang akan diakses ditambahkan dalam tanda kurung siku [ ] tepat setelah nama array. Misalnya:
int john = age[2];
Dalam contoh di atas, kami hanya menyatakan bahwa usia john disimpan di indeks 2 dari array bernama usia. Artinya umur john adalah 3rd nilai dalam usia array. Ini selengkapnya C++ contoh yang menunjukkan cara mengakses dan mencetak nilai ini:
#include<iostream> using namespace std; int main() { int age[5] = { 19, 18, 21, 20, 17 }; int john = age[2]; cout << "The age of John is:"<<john; }
Keluaran:
Berikut ini tangkapan layar kodenya:
Code Penjelasan:
- Menyertakan file header iostream dalam kode kita. Ini akan memungkinkan kita membaca dan menulis ke konsol.
- Menyertakan namespace std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
- Memanggil fungsi main() yang kodenya harus ditambahkan.
- Awal dari isi fungsi main().
- Mendeklarasikan array bernama age untuk menyimpan 5 elemen integer.
- Mengakses nilai yang disimpan pada indeks 2 array age dan menyimpan nilainya dalam variabel bernama john.
- Mencetak nilai variabel john di konsol bersama teks lainnya.
Keuntungan dari Array di C++
Inilah kelebihan/manfaat menggunakan Array di C++:
- Elemen array dapat dilintasi dengan mudah.
- Mudah untuk memanipulasi data array.
- Elemen array dapat diakses secara acak.
- Array memfasilitasi optimasi kode; karenanya, kita dapat melakukan banyak pekerjaan dengan menggunakan lebih sedikit kode.
- Mudah untuk mengurutkan data array.
Kekurangan Array di C++
- Sebuah array memiliki ukuran tetap; karenanya, kami tidak dapat menambahkan elemen baru ke dalamnya setelah inisialisasi.
- Mengalokasikan lebih banyak memori daripada kebutuhan menyebabkan pemborosan ruang memori, dan alokasi memori yang lebih sedikit dapat menimbulkan masalah.
- Jumlah elemen yang akan disimpan dalam suatu array harus diketahui terlebih dahulu.












