Array adalah sebuah variabel tempat menyimpan data yang memiliki index-index yang berbeda untuk menyimpan nilai-nilai yang berbeda dalam satu variabel. Dalam bahasa C sendiri array dapat diinisialisasi dengan syntax sebagai berikut:
int angka[10];
Sama halnya dengan variabel yang memiliki tipe data, dalam deklarasi array juga harus ditulis apa tipe data dari array tersebut. Dalam hal ini tipe data array di atas adalah integer dengan nama angka dan memiliki index sebanyak 10 buah. Berarti array ini dapat menyimpan sebanyak 10 buah data mulai dari angka[0], angka[1], ... , angka[9].
Berbeda dengan bahasa pemrograman lainnya, bahasa C tidak mempunyai tipe data string yang memiliki guna untuk menyimpan string atau kata/kalimat. Bahasa C menggunakan array of char untuk menyimpan string. Contohnya:
char nama[20];
Cara kerjanya sama seperti array untuk menyimpan angka akan tetapi array of char menyimpan satu karakter ke dalam satu index dan seterusnya. Dan ketika kita menggabungkan semua index array tersebut, kita mendapatkan sebuah string/kata. Tetapi dalam array of char ada sedikit perbedaan dalam batas index penyimpanannya, dimana ketika array int angka[10] dapat menampung 10 angka, array char nama[20] hanya mampu menampung 19 huruf atau karakter. Mengapa demikian? Hal ini dikarenakan di dalam setiap array of char terdapat null terminator (\0) di belakang string kita. Misalnya:
Kita menyimpan nama seseorang yaitu : Budi, index array yang kita butuhkan sebanyak 5 buah karena di belakang kata "Budi" terdapat null terminator (\0) yang menandakan berakhirnya string. Jadi data yang disimpan adalah "Budi\0" yang membutuhkan 5 buah index.
Selain itu, terdapat array 2 dimensi yang cara kerjanya pada dasarnya sama dengan array 1 dimensi. Inisialisasi array 2 dimensi dilakukan dengan cara:
char nama[10][26];
Dalam hal ini berarti saya dapat menyimpan 10 buah nama dengan panjang sebanyak 25 huruf.
Pointer adalah sebuah variabel yang menyimpan alamat dari variabel lain. Pointer menyimpan alamat dari sebuah variabel dan kita dapat memanggil isi dari alamat yang disimpan di dalam pointer. Dengan menggunakan pointer, kita dapat menghubungkan berbagai variabel dimana ketika suatu variabel diubah, variabel lainnnya yang terhubung juga ikut berubah. Pointer dapat ditulis dengan syntax sebagai berikut:
int *pointer;
int x=1;
pointer = &x;
printf("%d", *pointer);
Dalam contoh diatas, inisialisasi pointer dapat ditulis dengan menambahkan * di depan variabel pointer. Dalam baris ke-3 pointer = &x; menunjukkan dalam variabel pointer disimpan alamat dari x
dan kemudian di baris ke-4 kita print *pointer yaitu isi dari alamat yang disimpan dalam variabel pointer yakni dalam hal ini 1.
& = alamat dari (address of)
* = isi dari (value of)
Kita juga dapat membuat pointer menunjuk pada variabel pointer lainnya caranya dengan menambahkan * sebanyak n+1 dari n * variabel pointer yang ditunjuk.
Contohnya:
int *pointer, **pointer2
int x=2;
pointer = &x;
pointer2 = &pointer;
printf("%d", **pointer);
Terimakasih telah membaca
2201791295
binus.ac.id
skyconnectiva.com
Schumacher Goldwin
No comments:
Post a Comment