Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

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:

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++.

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

Ini adalah array di mana item data disusun secara linier dalam satu dimensi saja. Biasanya disebut array 1-D. Sintaks:

datatype array-name[size];

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:

  1. Termasuk file header iostream dalam kode kita. Ini akan memungkinkan kita untuk membaca dari dan menulis ke konsol.
  2. Termasuk ruang nama std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
  3. Memanggil fungsi main() di mana logika program harus ditambahkan.
  4. Awal isi fungsi main().
  5. Mendeklarasikan sebuah array bernama age untuk menyimpan 5 bilangan bulat. 5 bilangan bulat juga telah diinisialisasi.
  6. Buat variabel integer x menggunakan for loop.
  7. Awal dari badan for loop.
  8. 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.
  9. Akhir dari badan for loop.
  10. 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:

  1. Termasuk file header iostream dalam kode kita. Ini akan memungkinkan kita untuk membaca dari dan menulis ke konsol.
  2. Termasuk ruang nama std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
  3. Memanggil fungsi main() di mana kode harus ditambahkan.
  4. Awal isi fungsi main().
  5. Komentar. Kompiler C++ akan melewati ini.
  6. Mendeklarasikan array 2D dari 3 baris dan 2 kolom. Item juga telah ditambahkan ke array.
  7. Komentar. Kompiler C++ akan melewati ini.
  8. Membuat variabel saya menggunakan for for loop. Variabel ini akan mengulangi indeks baris dari array.
  9. Membuat variabel j menggunakan perulangan for. Variabel ini akan mengulangi indeks kolom dari array.
  10. Awal dari badan loop.
  11. Cetak nilai variabel i dan j pada konsol di dalam tanda kurung siku pada konsol.
  12. Cetak nilai yang disimpan pada indeks [i][j] larik a.
  13. Akhir dari badan loop.
  14. Fungsi main() harus mengembalikan nilai integer jika program berjalan dengan baik.
  15. 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:

#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 adalah screenshot kodenya:

Penjelasan Kode:

  1. Termasuk file header iostream dalam kode kita. Ini akan memungkinkan kita untuk membaca dari dan menulis ke konsol.
  2. Termasuk ruang nama std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
  3. Memanggil fungsi main() di mana logika program harus ditambahkan.
  4. Awal isi fungsi main().
  5. Mendeklarasikan array 3D dengan nama ukuran 2x3x2. Nilai-nilai array juga telah diinisialisasi.
  6. Mengakses item yang disimpan di indeks [0][1][0] array dan mencetaknya di konsol.
  7. Mengakses item yang disimpan di indeks [0][1][1] array dan mencetaknya di konsol.
  8. 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:

  1. Termasuk file header iostream dalam kode kita. Ini akan memungkinkan kita untuk membaca dari dan menulis ke konsol.
  2. Termasuk ruang nama std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
  3. Memanggil fungsi main() di mana logika program harus ditambahkan.
  4. Awal isi fungsi main().
  5. Mendeklarasikan variabel pointer bernama *john.
  6. Mendeklarasikan array integer bernama age untuk menyimpan 5 integer. Nilai-nilai bilangan bulat juga telah diinisialisasi.
  7. Menetapkan variabel john nilai alamat item yang disimpan dalam indeks pertama dari usia array.
  8. Mencetak nilai variabel john, yang merupakan alamat item yang disimpan dalam indeks pertama dari usia larik.
  9. Mencetak nilai pertama yang disimpan dalam usia larik.
  10. 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:

  1. Termasuk file header iostream dalam kode kita. Ini akan memungkinkan kita untuk membaca dari dan menulis ke konsol.
  2. Termasuk ruang nama std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
  3. Memanggil fungsi main() dan awal dari isi fungsi main().
  4. Komentar. Kompiler C++ akan melewati ini.
  5. Mendeklarasikan sebuah array bernama age untuk menyimpan 5 bilangan bulat.
  6. Membuat pointer integer p.
  7. Menetapkan p nilai alamat elemen pertama dari umur larik.
  8. Komentar. Kompiler C++ akan melewati ini.
  9. Cetak beberapa teks di konsol.
  10. Buat bilangan bulat x menggunakan perulangan for. { menandai awal dari badan for loop.
  11. Cetak nilai x yang digabungkan dengan beberapa teks lain di konsol.
  12. Cetak nilai *(p + x) di konsol.
  13. Akhir dari badan for loop.
  14. Cetak beberapa teks di konsol.
  15. Buat variabel x menggunakan perulangan for. { menandai awal dari badan for loop.
  16. Cetak nilai x dari 0 hingga 4 di samping beberapa teks lainnya.
  17. Cetak nilai *(umur + x).
  18. Akhir dari badan for loop.
  19. Mengembalikan nilai jika program berhasil dijalankan.
  20. 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:

  1. Termasuk file header iostream dalam kode kita. Ini akan memungkinkan kita untuk membaca dari dan menulis ke konsol.
  2. Termasuk ruang nama std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
  3. Memanggil fungsi main() di mana kode harus ditambahkan.
  4. Awal dari badan fungsi main().
  5. Mendeklarasikan sebuah array bernama age untuk menyimpan 5 elemen integer.
  6. Mengakses nilai yang disimpan pada indeks 2 usia array dan menyimpan nilainya dalam variabel bernama john.
  7. Mencetak nilai variabel john di konsol bersama teks lainnya.

Keuntungan Array di C++

Berikut adalah kelebihan/keuntungan menggunakan Array di C++:

Kerugian Array di C++

Ringkasan


Bahasa C

  1. C# Array
  2. Melewati Array ke Fungsi dalam Pemrograman C++
  3. Java Salin Array
  4. C++ do… while loop dengan Contoh
  5. C++ Alokasi Dinamis Array dengan Contoh
  6. C++ Pointer dengan Contoh
  7. Tipe Data C++ Char dengan Contoh
  8. Operator C++ Overloading dengan Contoh
  9. Fungsi C++ dengan Contoh Program
  10. Tutorial Koleksi C# dengan Contoh