Array, dan Pointer dalam bahasa C

Andrew Wiseson Tanjaya
3 min readAug 15, 2021

--

  1. Array

Array adalah kumpulan nilai-nilai yang memiliki tipe data yang sama dalam urutan tertentu (index)

Jadi kita bisa simpan banyak value dalam 1 variable yang sama. Data yang bisa disimpan dalam array bisa dalam bentuk int, char, double, float, dll.

Array akan sangat berguna jika dipakai untuk menyimpan data dengan tipe data yang sama yang lebih dari satu.

Cara membuat array :

data_type nama_array[ukuran]

Contoh :

int angka[10]

Jadi pada contoh diatas, kita membuat sebuah array dengan nama angka yang dapat menampung maksimal 10 data yang bertipe data int

Cara Inisialisasi Array :

angka[0] = 1

angka[1] = 10

dst..

Jadi pada contoh inisialisasi array diatas, kita memberi nilai untuk ditampung array pada index 0 dan 1, yaitu 1 dan 10. Alhasil sekarang index 0 dan 1 sudah terisi dan 2 sampai 9 masi kosong

Kita juga bisa langsung menginisialisasi array kita ketika kita sedang mendeklarasikannya :

int angka[] = {1,10,2,5,20};

Pada contoh diatas, berarti kita membuat array dengan nama angka yang menyimpan data int, dan kita langsung kasi tau data2nya apa aja.

Array dua dimensi

Array yang sebelumnya kita pelajari hanya merupakan array satu dimensi, dimana bisa di identifikasi dengan hanya memiliki satu tanda “[]” , berbeda dengan array dua dimensi, array dua dimensi memiliki 2 tanda “[]” . Biasanya array dua dimensi juga dapat dianalogikan sebagai “Array of Array” jadi setiap array merupakan array dan juga dapat kita visualisasikan mirip seperti sebuah tabel.

Cara membuat array dua dimensi :

data_type nama_array[baris][kolom];

Contoh

int matriks[3][3];

Cara menginisialisasi array dua dimensi :

int matriks[3][3] = {{1,2,3}, {4,5,6},{7,8,9}};

Untuk menampilkan isi dari array 2 dimensi, agak berbeda dengan cara menampilkan isi array satu dimensi yang hanya menggunakan 1 loopingan saja, disini kita akan menggunakan 2 loopingan.

Contoh :

#include<stdio.h>

int main(){

int i=0,j=0;

int angka[3][3]={{1,2,3},{4,5,6},{7,8,9}};

for(i=0;i < 3;i++){

for(j=0;j < 3;j++){

printf(“angka[%d] [%d] = %d \n”,i,j,angka[i][j]);

}

}

return 0;

}

2. Pointer

Pointer adalah sebuah variabel yang menyimpan alamat dari variabel lain.

Contoh :

int angka = 20;

int* ptr = &angka

Code diatas adalah code untuk membuat sebuah variable pointer yang kemudian menyimpan alamat dari sebuah variabel angka.

Cara membuat pointer :

int *a; // pointer untuk int

char *b; // pointer untuk char

Pointer

Sesuai dengan gambar diatas, variabel ptr menyimpan alamat dari variabel var, yaitu 0x7fffa0757dd4, jadi isi dari variable ptr sekarang adalah 0x7fffa0757dd4, tetapi kita juga bisa mengakses nilai yang disimpan dalam alamat ini melalui variable ptr, yaitu dengan bantuan *(indirection operator). Jadi jika kita menambahkan * didepan sebuah variabel pointer, maka dia akan menampilkan nilai yang disimpan dalam alamat yang ada dalam pointer.

Contoh :

#include<stdio.h>

int main(){

int angka=10;

int *ptr;

ptr=&angka;//ptr menyimpan alamat dari angka

printf(“Isi dari variabel ptr adalah %x \n”,ptr); // isi dari variable ptr (alamat dari “angka”).

printf(“Value yang terdapat di alamat yang disimpan ptr adalah %d \n”,*ptr); // gunakan * untuk mendapatkan value yang terdapat di alamat yang disimpan ptr

return 0;

}

Selain menggunakan operator *, tadi kita juga menggunakan operator &, dimana operator ini berguna untuk mendapatkan alamat dari sebuah variable , contoh &angka, berarti kita mendapatkan alamat dari variable angka

Sekian untuk materi Array dan Pointer, jika ada pertanyaan jangan sungkan untuk contact saya. Terima kasih.

~~ Selamat Belajar ~~

Bonus :

Berikut contoh soal yang dapat kalian pakai untuk lebih memahami materi diatas

--

--

Andrew Wiseson Tanjaya
Andrew Wiseson Tanjaya

Written by Andrew Wiseson Tanjaya

Teaching Assistant In Bina Nusantara University

No responses yet