Array Bahasa C dan Fungsinya
Alasan Penggunaan Array
Karena variabel normal hanya bisa digunakan untuk objek data yang berukuran kecil dan ingin menyimpan data dalam ukuran besar, maka akan sangat sulit sekali dilakukan jika menggunakan variabel normal.Deklarasi Array dalam Bahasa C dan C++
satu, Deklarasi Array oleh Ukuran Spesifik
// Deklarasi array dengan penentuan nilai
int arr1[10];
// maka dapat dideklarasikan array dengan penentuan nilai
int n = 10;
int arr2[n];
dua, Deklarasi Array oleh Inisialisasi Elemen
// Deklarasi array dengan inisialisasi elemen
int arr[] = { 10, 20, 30, 40 }
tiga, Deklarasi Array dengan Penentuan Ukuran dan Inisialisasi Elemen
// Deklarasi array dengan penentuan ukuran dan elemen
int arr[6] = { 10, 20, 30, 40 }
int arr[] = {10, 20, 30, 40, 0, 0}
Kelebihan Penggunaan Array:
- Akses bebas dari elemen menggunakan indeks array.
- Menggunakan sedikit kode program untuk membuat sebuah array tunggal dari berbagai macam elemen.
- Kemudahan akses terhadap semua elemen.
- traversal melalui array menjadi lebih mudah dengan menggunakan satu kali looping.
- Proses pengelompokkan data menjadi lebih mudah karena bisa dilakukan dengan menggunakan baris kode yang lebih pendek.
- Tidak memungkinkan untuk input sejumlah elemen ketika ditentukan pada saat deklarasi.
- Penyisipan dan penghapusan elemen dapat memakan alokasi memori berlebih karena elemen tersebut perlu dikelola sesuai dengan alokasi memori baru.
satu, Akses elemen array: Elemen array diakses dengan menggunakan indeks integer. Indeks array dimulai dengan angka 0 dan berlanjut hingga nilai array tertentu seperti diperlihatkan pada gambar 3 berikut ini.
#include <stdio.h>
int main()
{
int arr[5];
arr[0] = 5;
arr[2] = -10;
arr[3 / 2] = 2;
// sama seperti arr[1] = 2
arr[3] = arr[0];
printf("%d %d %d %d", arr[0], arr[1], arr[2], arr[3]);
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int arr[5];
arr[0] = 5;
arr[2] = -10;
// sama seperti arr[1] = 2
arr[3 / 2] = 2;
arr[3] = arr[0];
cout << arr[0] << " " << arr[1]<< " " << arr[2] << " " << arr[3];
return 0;
}
dua, Tidak ada indeks yang keluar dari pemeriksaan terikat: Program berikut ini jika dikompilasi maka tidak akan mengeluarkan pesan error apapun ketika dikompilasi, namun ketika dijalankan maka akan mengeluarkan hasil output yang tidak dapat diprediksi.
Contoh: program bahasa C
// This C program compiles fine
// as index out of bound
// is not checked in C.
#include <stdio.h>
int main()
{
int arr[2];
printf("%d ", arr[3]);
printf("%d ", arr[-2]);
return 0;
}
// This C++ program compiles fine
// as index out of bound
// is not checked in C.
#include <iostream>
using namespace std;
int main()
{
int arr[2];
cout << arr[3] << " ";
cout << arr[-2] << " ";
return 0;
}
tiga, Pada bahasa C bukan kesalahan dari kompilator untuk menginisialisasi array dengan lebih banyak elemen daripada ukuran yang telah ditentukan.
#include <stdio.h>
int main()
{
// Deklarasi array dengan
// inisialisasilebih banyak
// elemen daripada
// spesifikasinya.
int arr[2] = {
10, 20, 30, 40, 50 };
return 0;
}
prog.c: In function 'main':
prog.c:7:25: warning: excess elements in array initializer
int arr[2] = { 10, 20, 30, 40, 50 };
^
prog.c:7:25: note: (near initialization for 'arr')
prog.c:7:29: warning: excess elements in array initializer
int arr[2] = { 10, 20, 30, 40, 50 };
^
prog.c:7:29: note: (near initialization for 'arr')
prog.c:7:33: warning: excess elements in array initializer
int arr[2] = { 10, 20, 30, 40, 50 };
^
prog.c:7:33: note: (near initialization for 'arr')
Catatan: Program tersebut tidak dapat dikompilasi pada bahasa C++. jika program tersebut disimpan sebagai .cpp, maka program akan menghasilkan pesan error "error. too many initializers for 'int".
empat, Elemen disimpan secara berkelanjutan pada memori lokasi.
Contoh: program bahasa C.
// Program Bahasa C untuk
// mendemonstrasikan elemen
// array disimpan pada lokasi
// yang berkelanjutan.
#include <stdio.h>
int main()
{
// Array dari integer 10. Jika
// arr[0] disimpan pada alamat
// x, maka arr[1] akan
// disimpan pada alamat x +
// sizeof(int), dan arr[2]
// akan disimpan pada alamat x
// + sizeof(int), dan
// seterusnya.
int arr[5], i;
printf("Ukuran integer pada"
" kompilator ini adalah"
" %lu\n", sizeof(int));
for (i = 0; i < 5; i++)
// Kegunaan dari tanda '&'
// yang diletakkan sebelum
// nama variabel adalah
// mengindikasikan nilai dari
// alamat variabel yang berada
// setelahnya.
printf("Alamat arr[%d] adalah"
" %p\n", i, &arr[i]);
return 0;
}
Alamat arr[0] adalah 0x7ffd636b4260
Alamat arr[1] adalah 0x7ffd636b4264
Alamat arr[2] adalah 0x7ffd636b4268
Alamat arr[3] adalah 0x7ffd636b426c
Alamat arr[4] adalah 0x7ffd636b4270
Contoh: program bahasa C++
// Program C++ untuk
// mendemonstrasikan bahwa
// elemen array disimpan pada
// lokasi yang berkelanjutan.
#include <iostream>
using namespace std;
int main()
{
// Array dari integer 10. Jika
// arr[0] disimpan pada alamat
// x, maka arr[1] akan
// disimpan pada alamat x +
// sizeof(int), dan arr[2]
// akan disimpan pada alamat x
// + sizeof(int), dan
// seterusnya.
int arr[5], i;
cout << "Ukuran integer pada"
" kompilator ini adalah" << sizeof(int) << "\n";
for (i = 0; i < 5; i++)
// Kegunaan dari tanda '&'
// yang diletakkan sebelum
// nama variabel adalah
// mengindikasikan nilai dari
// alamat variabel yang berada
// setelahnya.
cout << "Alamat arr[" << i <<
"] adalah " << &arr[i] <<
"\n";
return 0;
}
Alamat arr[0] adalah 0x7ffd636b4260
Alamat arr[1] adalah 0x7ffd636b4264
Alamat arr[2] adalah 0x7ffd636b4268
Alamat arr[3] adalah 0x7ffd636b426c
Alamat arr[4] adalah 0x7ffd636b4270
Array vs Pointer
Array dan pointer adalah dua hal yang berbeda. Kebingungan ini terjadi karena nama array mengindikasikan alamat dari elemen pertama dan array selalu melewatkan pointer.Pengertian Vector
Vector pada C++ adalah sebuah class pada STL yang merepresentasikan array. Keunggulan dari vector daripada array adalah:- Tidak melewatkan ukuran parameter ekstra ketika mendeklarasikan sebuah vector atau vector support dynamic size. Ukuran vector juga dapat diubah-ubah.
- Vector memiliki banyak fungsi built-in seperti hapus, tambah, dan lain sebagainya.
- Array bisa memiliki semua tipe data kecuali void dan fungsi.
- Array dan pointer adalah dua hal yang berbeda. Keduanya terlihat mirip karena array memberikan alamat dari elemen pertama dan elemen array dapat diakses menggunakan pointer aritmatika seperti yang telah dijelaskan sebelumnya.
- Array selalu dilewatkan sebagai pointer ke fungsi.
- Sebuah karakter array dengan double qouted string memiliki elemen sebagai '\0'.
- Seperti variabel lainnya, array dapat mengalokasikan memori pada salah satu dari tiga segmentasi data, heap, dan stack.
- 3 Contoh Program Penggunaan Petik Tunggal dan Ganda Array Char Bahasa C
- 3 Contoh Program Inisialisasi Array Multidimensi pada Bahasa C
- 2 Contoh Program Penggunaan Fungsi Strcat dan Strcmp pada Bahasa C
- Penggunaan Char pada Bahasa C
- Fakta Unik Risiko Penggunaan gets() pada Bahasa C
- 3 Contoh Program Fungsi untuk Menukar String Bahasa C
- 6 Contoh Program Penyimpanan String dalam Bahasa C
6 komentar untuk "Array Bahasa C dan Fungsinya"
Hubungi admin melalui Wa : +62-896-2414-6106
Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.
Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.
- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -
Apa yang dimaksud dengan array pada bahasa pemrograman C?
BalasHapusArray didefinisikan sebagai kumpulan jenis item data serupa yang disimpan pada lokasi memori yang saling berdekatan. Array adalah tipe data turunan dalam bahasa pemrograman C yang dapat menyimpan tipe data primitif seperti int, char, double, float, dan lain sebagainya. Dengan menggunakan array, pengguna dapat mengakses elemen dengan mudah pada program bahasa C.
HapusArray adalah grup atau kumpulan dari tipe data yang sama. Contoh, array int yang digunakan untuk menampung nilai dengan tipe data integer dan array float yang digunakan untuk menampung data dengan tipe data bilangan desimal.
HapusArray pada bahasa C adalah kumpulan variabel yang memiliki tipe data yang sama dapat dapat digunakan untuk menyimpan sekelompok data dengan tipe data yang sama dalam sebuah array atau variabel array. Array mungkin termasuk salah satu tipe data, dengan ukuran array harus berupa nilai konstan. Juga, lokasi memori yang saling berdekatan digunakan untuk menyimpan elemen array dalam memori pada program bahasa C.
HapusBagaimana array diklasifikasi pada bahas pemrograman C?
BalasHapusArray diklasifikasi sebagai struktur data homogen karena menyimpan elemen dengan tipe data yang sama. Array dapat menyimpan angka, string, nilai boolean, karakter, object, dan lain sebagainya.
Hapus