Array di C++ | Nyatakan | Inisialisasi | Contoh Pointer ke Array
Apa itu Array?
Array adalah struktur data yang menyimpan elemen dari tipe data yang sama secara berurutan. Array C++ memiliki ukuran tetap.
Anda dapat melihat array sebagai kumpulan variabel dari tipe data yang serupa. Alih-alih mendeklarasikan setiap variabel dan menetapkan nilai secara individual, Anda dapat mendeklarasikan satu variabel (array) dan menambahkan nilai dari berbagai variabel ke dalamnya. Setiap nilai tambah ke array diidentifikasi oleh indeks.
Dalam tutorial C++ ini, Anda akan belajar:
Apa itu Array?
Mengapa kita membutuhkan array?
Deklarasikan array dalam C++
Inisialisasi Array
Jenis Array
Array Satu Dimensi
Array Multidimensi
Array Dua Dimensi
Array Tiga Dimensi
Penunjuk ke Array
Mengakses nilai dari Array
Kelebihan Array pada C++
Kekurangan Array di C++
Mengapa kita membutuhkan array?
Array sangat penting dalam bahasa pemrograman apa pun. Mereka menyediakan cara yang lebih nyaman untuk menyimpan variabel atau kumpulan data dari tipe data yang sama bersama-sama daripada menyimpannya secara terpisah. Setiap nilai array akan diakses secara terpisah.
Deklarasikan array di C++
Deklarasi array dalam C++ melibatkan menyatakan jenis serta jumlah elemen yang akan disimpan oleh array. Sintaks:
type array-Name [ array-Size ];
Aturan untuk mendeklarasikan array satu dimensi di C++.
Jenis: Tipe adalah tipe elemen yang akan disimpan dalam array, dan harus tipe data C++ yang valid.
Nama-Array: Array-Name adalah nama yang akan diberikan ke array.
Ukuran Array: Array-Size adalah jumlah elemen yang akan disimpan dalam array. Itu harus bilangan bulat dan lebih besar dari 0.
Misalnya, Anda dapat membuat array bernama usia dan menyimpan usia 5 siswa sebagai berikut:
int age[5];
Usia larik 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 usia, elemen pertama akan disimpan pada indeks 0, sedangkan elemen terakhir akan disimpan pada indeks 4.
Mari kita gunakan larik umur untuk mendemonstrasikan bagaimana inisialisasi larik 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 larik di dalam [ ], larik hanya akan cukup besar untuk menampung elemen yang ditambahkan di 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 usia. Ini berarti bahwa 20 akan menjadi yang ke-4
elemen larik.
Jenis Array
Ada dua jenis array C++:
Array Satu Dimensi
Array Multidimensi
Penunjuk ke Array
Array Satu Dimensi
Ini adalah array di mana item data disusun secara linier dalam satu dimensi saja. Biasanya disebut array 1-D. Sintaks:
datatype array-name[size];
Nama array adalah nama array.
Ukuran adalah jumlah item yang akan disimpan dalam larik.
Misalnya:
#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 adalah screenshot kodenya:
Penjelasan Kode:
Termasuk file header iostream dalam kode kita. Ini akan memungkinkan kita untuk membaca dari dan menulis ke konsol.
Termasuk ruang nama std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
Memanggil fungsi main() di mana logika program harus ditambahkan.
Awal isi fungsi main().
Mendeklarasikan sebuah array bernama age untuk menyimpan 5 bilangan bulat. 5 bilangan bulat juga telah diinisialisasi.
Buat variabel integer x menggunakan for loop.
Awal dari badan for loop.
Menggunakan variabel loop x untuk mengulangi nilai usia array dan mencetaknya di konsol. "\n" adalah karakter baris baru dan dicetak di baris baru setelah setiap iterasi.
Akhir dari badan for loop.
Akhir dari isi fungsi main().
Array Multidimensi
Ini adalah array di mana item data disusun untuk membentuk array array. Array multi-dimensi dapat memiliki sejumlah dimensi, tetapi array dua dimensi dan tiga dimensi adalah umum. Sintaks:
datatype array-name[d1][d2][d3]...[dn];
Nama-array adalah nama array yang akan memiliki n dimensi. Misalnya:
Array Dua Dimensi
Array 2D menyimpan data dalam daftar dengan array 1-D. Ini adalah matriks dengan baris dan kolom. Untuk mendeklarasikan array 2D, gunakan sintaks berikut:
type array-Name [ x ][ y ];
Tipenya harus tipe data C++ yang valid. Lihat array 2D sebagai tabel, di mana x menunjukkan jumlah baris sementara y menunjukkan jumlah kolom. Ini berarti Anda mengidentifikasi setiap elemen dalam larik 2D menggunakan bentuk a[x][y], di mana x adalah jumlah baris dan y jumlah kolom tempat elemen tersebut berada.
Berikut adalah 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 2x3. Ada 2 baris dan 3 kolom. Elemen 0 dapat diakses sebagai a[0][1] karena terletak pada perpotongan baris berindeks 0 dan kolom berindeks 1. Elemen 3 dapat diakses sebagai [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};
};
Contoh C++ berikut menunjukkan cara menginisialisasi dan melintasi larik 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 adalah screenshot dari kode di atas:
Penjelasan Kode:
Termasuk file header iostream dalam kode kita. Ini akan memungkinkan kita untuk membaca dari dan menulis ke konsol.
Termasuk ruang nama std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
Memanggil fungsi main() di mana kode harus ditambahkan.
Awal isi fungsi main().
Komentar. Kompiler C++ akan melewati ini.
Mendeklarasikan array 2D dari 3 baris dan 2 kolom. Item juga telah ditambahkan ke array.
Komentar. Kompiler C++ akan melewati ini.
Membuat variabel saya menggunakan for for loop. Variabel ini akan mengulangi indeks baris dari array.
Membuat variabel j menggunakan perulangan for. Variabel ini akan mengulangi indeks kolom dari array.
Awal 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] larik 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 satu set 3 indeks. Untuk mengakses elemen array 3D, kami menggunakan tiga for loop. Misalnya:
Termasuk file header iostream dalam kode kita. Ini akan memungkinkan kita untuk membaca dari dan menulis ke konsol.
Termasuk ruang nama std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
Memanggil fungsi main() di mana logika program harus ditambahkan.
Awal isi fungsi main().
Mendeklarasikan array 3D dengan nama ukuran 2x3x2. Nilai-nilai array juga telah diinisialisasi.
Mengakses item yang disimpan di indeks [0][1][0] array dan mencetaknya di konsol.
Mengakses item yang disimpan di indeks [0][1][1] array dan mencetaknya di konsol.
Akhir dari isi fungsi main().
Penunjuk ke Array
Pointer adalah variabel yang menyimpan alamat. Selain menggunakan pointer untuk menyimpan alamat suatu variabel, kita dapat menggunakannya untuk menyimpan alamat sel array. Nama array secara konstan menunjuk ke elemen pertamanya. Perhatikan deklarasi yang diberikan di bawah ini:
int age[5];
Usia adalah penunjuk ke $age[0], alamat elemen pertama dari array bernama usia. 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 dapat mengembalikan nilai yang berbeda tergantung pada alamat yang ditetapkan ke elemen pertama larik di memori komputer Anda.
Berikut adalah screenshot kodenya:
Penjelasan Kode:
Termasuk file header iostream dalam kode kita. Ini akan memungkinkan kita untuk membaca dari dan menulis ke konsol.
Termasuk ruang nama std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
Memanggil fungsi main() di mana logika program harus ditambahkan.
Awal isi fungsi main().
Mendeklarasikan variabel pointer bernama *john.
Mendeklarasikan array integer bernama age untuk menyimpan 5 integer. Nilai-nilai bilangan bulat juga telah diinisialisasi.
Menetapkan variabel john nilai alamat item yang disimpan dalam indeks pertama dari usia array.
Mencetak nilai variabel john, yang merupakan alamat item yang disimpan dalam indeks pertama dari usia larik.
Mencetak nilai pertama yang disimpan dalam usia larik.
Akhir dari isi fungsi main().
Nama array dapat digunakan sebagai pointer konstan, dan sebaliknya juga benar. Ini berarti Anda dapat mengakses nilai yang disimpan pada indeks 3 usia array dengan *(usia + 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 adalah screenshot kodenya:
Penjelasan Kode:
Termasuk file header iostream dalam kode kita. Ini akan memungkinkan kita untuk membaca dari dan menulis ke konsol.
Termasuk ruang nama std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
Memanggil fungsi main() dan awal dari isi fungsi main().
Komentar. Kompiler C++ akan melewati ini.
Mendeklarasikan sebuah array bernama age untuk menyimpan 5 bilangan bulat.
Membuat pointer integer p.
Menetapkan p nilai alamat elemen pertama dari umur larik.
Komentar. Kompiler C++ akan melewati ini.
Cetak beberapa teks di konsol.
Buat bilangan bulat x menggunakan perulangan for. { menandai awal dari badan for loop.
Cetak nilai x yang digabungkan dengan beberapa teks lain di konsol.
Cetak nilai *(p + x) di konsol.
Akhir dari badan for loop.
Cetak beberapa teks di konsol.
Buat variabel x menggunakan perulangan for. { menandai awal dari badan for loop.
Cetak nilai x dari 0 hingga 4 di samping beberapa teks lainnya.
Cetak nilai *(umur + x).
Akhir dari badan for loop.
Mengembalikan nilai jika program berhasil dijalankan.
Akhir dari isi fungsi main().
Mengakses nilai dari Array
Elemen array diakses menggunakan indeks masing-masing. Indeks elemen yang akan diakses ditambahkan dalam tanda kurung siku [ ] segera 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. Ini berarti usia john adalah yang ke-3
ketiga
nilai dalam usia array. Berikut adalah contoh C++ lengkap 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 adalah screenshot kodenya:
Penjelasan Kode:
Termasuk file header iostream dalam kode kita. Ini akan memungkinkan kita untuk membaca dari dan menulis ke konsol.
Termasuk ruang nama std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
Memanggil fungsi main() di mana kode harus ditambahkan.
Awal dari badan fungsi main().
Mendeklarasikan sebuah array bernama age untuk menyimpan 5 elemen integer.
Mengakses nilai yang disimpan pada indeks 2 usia array dan menyimpan nilainya dalam variabel bernama john.
Mencetak nilai variabel john di konsol bersama teks lainnya.
Keuntungan Array di C++
Berikut adalah kelebihan/keuntungan menggunakan Array di C++:
Elemen array dapat dilalui dengan mudah.
Mudah untuk memanipulasi data array.
Elemen array dapat diakses secara acak.
Array memfasilitasi pengoptimalan kode; oleh karena itu, kita dapat melakukan banyak pekerjaan dengan menggunakan lebih sedikit kode.
Mudah untuk mengurutkan data array.
Kerugian Array di C++
Sebuah array memiliki ukuran tetap; karenanya, kami tidak dapat menambahkan elemen baru ke dalamnya setelah inisialisasi.
Mengalokasikan lebih banyak memori daripada yang diperlukan menyebabkan pemborosan ruang memori, dan alokasi memori yang lebih sedikit dapat menimbulkan masalah.
Jumlah elemen yang akan disimpan dalam array harus diketahui terlebih dahulu.
Ringkasan
Array adalah struktur data yang menyimpan elemen dari tipe data yang sama.
Elemen array disimpan secara berurutan.
Elemen array dilambangkan menggunakan indeksnya masing-masing. Elemen pertama berada pada indeks 0, sedangkan elemen terakhir berada pada indeks n-1, dimana merupakan jumlah total elemen array.
Deklarasi array melibatkan pendefinisian tipe data elemen array serta jumlah elemen yang akan disimpan dalam array.
Array satu dimensi menyimpan elemen secara berurutan.
Array dua dimensi menyimpan elemen dalam baris dan kolom.
Array tiga dimensi adalah larik dari array.
Elemen dapat ditambahkan ke array menggunakan indeksnya.
Elemen array diakses menggunakan indeksnya.
Array multidimensi memiliki lebih dari satu dimensi.
Nama array menunjuk ke elemen pertamanya.
Array memiliki ukuran tetap, artinya elemen baru tidak dapat ditambahkan ke array setelah inisialisasi.