Mengenal Array pada c++


Selamat malam sahabat, pada kesempatan kali ini saya ingin berbagi artikel tentang array pada c++. Array adalah serangkaian elemen dari jenis yang sama dan ditempatkan di lokasi memori yang berdekatan yang dapat secara individual direferensikan dengan menambahkan indeks identifikasi unik.

Itu berarti bahwa, misalnya, lima nilai bertipe "int" dapat dideklarasikan sebagai array tanpa harus mendeklarasikan 5 variabel yang berbeda (masing-masing dengan identifier sendiri). Sebaliknya, menggunakan sebuah array, lima nilai "int" disimpan dalam lokasi memori yang berdekatan, dan kelimanya dapat diakses menggunakan identifier yang sama, dengan indeks yang tepat.

Sebagai contoh, sebuah array yang berisi 5 nilai integer bertipe "int" disebut "foo" bisa direpresentasikan sebagai:

 
di mana setiap panel kosong merupakan elemen dari array. Dalam hal ini, ini adalah nilai-nilai bertipe int. Unsur-unsur ini diberi nomor dari 0 sampai 4, menjadi 0 pertama dan 4 yang terakhir; Dalam C ++, elemen pertama dalam array selalu dinomori dengan nol (tidak satu), tidak peduli panjangnya.

Seperti variabel biasa, array harus dideklarasikan sebelum digunakan. Sebuah deklarasi khas untuk sebuah array di C ++ adalah:

type name [elements];

dimana jenis tipe yang valid (seperti int, float ...), nama adalah identifier yang valid dan bidang elemen (yang selalu diapit oleh kurung siku []), menentukan panjang array dalam hal jumlah elemen.

Oleh karena itu, array foo, dengan lima unsur tipe int, dapat dinyatakan sebagai:
 
 
int foo [5];

CATATAN: Unsur-unsur lapangan dalam tanda kurung siku [], mewakili jumlah elemen dalam array, harus ekspresi konstan, karena array blok memori statis yang ukurannya harus ditentukan pada waktu kompilasi, sebelum program berjalan.

Memulai array
Secara default, array biasa lingkup lokal (misalnya, mereka yang dinyatakan dalam fungsi) yang tersisa diinisiasi. Ini berarti bahwa tidak ada unsur-unsur yang ditetapkan untuk setiap nilai tertentu; isinya belum ditentukan pada titik array dideklarasikan.

Namun elemen dalam array dapat secara eksplisit diinisialisasi dengan nilai-nilai tertentu bila dinyatakan, dengan melampirkan nilai-nilai awal dalam kurung {}. Sebagai contoh:

int foo [5] = { 16, 2, 77, 40, 12071 }; 

Pernyataan ini mendeklarasikan sebuah array yang dapat diwakili seperti ini:


 
Jumlah nilai antara kurung kurawal {} tidak akan lebih besar dari jumlah elemen dalam array. Misalnya, dalam contoh di atas, "foo" dinyatakan memiliki 5 elemen (sebagaimana ditentukan dengan jumlah diapit oleh kurung siku, []), dan kurung kurawal {} berisi persis 5 nilai, satu untuk setiap elemen. Jika dinyatakan dengan kurang, unsur-unsur yang tersisa diatur ke nilai standar (yang untuk jenis fundamental, berarti mereka penuh dengan nol). Sebagai contoh:   

int bar [5] = { 10, 20, 30 };  

Akan membuat sebuah array seperti ini:
 
 
  
Initializer bahkan memiliki nilai, contoh:

int baz [5] = { }; 
 

Hal ini menciptakan sebuah array dari lima nilai int, masing-masing diinisialisasi dengan nilai nol:


 
 
Ketika inisialisasi nilai disediakan untuk array, C ++ memungkinkankemungkinan meninggalkan kurung kotak kosong []. Dalam hal ini, compiler akan menganggap otomatis ukuran untuk array yang sesuai dengan jumlah nilaiyang dimasukkan antara kurung kurawal {}:

int foo [] = { 16, 2, 77, 40, 12071 };


setelah deklarasi ini, berbagai "foo" akan 5 int panjang, karena kami telah menyediakan 5 nilai inisialisasi.

Akhirnya, evolusi C ++ telah menyebabkan adopsi inisialisasi yang universal juga untuk array. Oleh karena itu, tidak perlu lagi untuk tanda sama antara deklarasi dan initializer tersebut. Kedua pernyataan ini sama:

int foo[] = { 10, 20, 30 };
int foo[] { 10, 20, 30 }; 

Array statis, dan mereka menyatakan secara langsung dalam namespace (di luar fungsi apapun), selalu diinisialisasi. Jika tidak ada initializer eksplisit ditentukan, semua elemen yang diinisialisasi default-(dengan nol, untuk jenis fundamental). 

Mengakses nilai dari arrayNilai-nilai dari setiap elemen dalam array dapat diakses seperti nilai variabel biasa dari jenis yang sama. Perintahnya adalah:
name[index] 
Setelah contoh sebelumnya di mana foo memiliki 5 elemen dan masing-masing elemen adalah tipe int, nama yang dapat digunakan untuk merujuk kepada setiap elemen adalah sebagai berikut:

 
 Sebagai contoh, pernyataan berikut menyimpan nilai 75 dalam elemen ketiga foo: 
 
foo [2] = 75;
 
dan, misalnya, salinan berikut nilai elemen ketiga foo variabel yang disebut x:

x = foo[2];
 
Oleh karena itu, ekspresi "foo [2]" itu sendiri merupakan variabel bertipe "int".

Perhatikan bahwa unsur ketiga foo ditentukan foo [2], karena yang pertama adalah foo [0], yang kedua adalah foo [1], dan oleh karena itu, yang ketiga adalah foo [2]. Dengan alasan yang sama, elemen terakhir adalah foo [4]. Oleh karena itu, jika kita menulis foo [5], kita akan mengakses elemen keenam foo, dan karena itu benar-benar melebihi ukuran array.

Dalam C ++,  sintaksis benar melebihi kisaran valid indeks untuk array. Hal ini dapat menciptakan masalah, karena mengakses out-of-range elemen tidak menyebabkan kesalahan kompilasi, tetapi dapat menyebabkan kesalahan pada runtime. Alasan untuk ini diperbolehkan akan terlihat pada bab berikutnya ketika pointer diperkenalkan.

Pada titik ini, penting untuk dapat dengan jelas membedakan antara dua penggunaan yang kurung [] telah berhubungan dengan array. Mereka melakukan dua tugas yang berbeda: satu adalah untuk menentukan ukuran array saat diumumkan; dan yang kedua adalah untuk menentukan indeks untuk elemen array beton ketika mereka diakses. Jangan bingung dua penggunaan tersebut kemungkinan kurung [] dengan array.

int foo[5];         // declaration of a new array
foo[2] = 75;        // access to an element of the array.
 

Perbedaan utama adalah bahwa deklarasi ini didahului oleh jenis elemen, sementara akses tidak.

Beberapa operasi yang sah lainnya dengan array:

foo[0] = a;
foo[a] = 75;
b = foo [a+2];
foo[foo[a]] = foo[2] + 5;
 
berikut contoh kode programnya:

// arrays example
#include <iostream.h>
using namespace std;

int foo [] = {16, 2, 77, 40, 12071};
int n, result=0;

int main ()
{
for ( n=0 ; n<5 ; ++n )
{
result += foo[n];
}
cout << result;
return 0;
}

demikian tadi sedikit penjelasan tentang array, untuk penjelasan lebih lanjut mungkin akan kita bahas pada lain kesempatan.semoga artikel ini bermanfaat !!! 
Previous
Next Post »
Thanks for your comment