Sunday, October 21, 2018

Pointer dan Array



Pointer

Pointer merupakan variabel yang menyimpan address suatu variabel.
Contoh: *ptr

Terdapat 2 jenis pointer:
  • * (Content of)
  • & (Address of)

Contoh * (Content of):
int a, *ptr -> (pointer);
ptr = &i;

Maka *ptr = 5, karena pointer akan menunjukkan value dari int a.

Contoh & (Address of):

int a, *ptr -> (pointer);
ptr = &i;

Jika address dari integer a adalah di 600x,
Maka &ptr = 600x, karena pointer akan menunjukkan address dari int a.

Pointer to Pointer

Pointer yang menunjuk kepada suatu pointer
Contoh: **ptr

int a, *ptr, **ptr2;
ptr = &a;
ptr2 = &ptr;

Bila ditulis
*ptr = 5;
**ptr2 = 9;

Maka, value dari a dan *ptr adalah 9

Array

Kumpulan data/variabel yang disimpan secara terstruktur sehingga dapat diakses secara kelompok / sendiri.
Contoh: int Array[50] -> [50] disini menyatakan size dari array tersebut.

Array 1 dimensi

Contoh: panjang[3] = {1,2,3};
Maka tersimpan data di dalam program bahwa variabel panjang[0] = 1, panjang[1] = 2 dan panjang [2] = 3. Array selalu diawali dari index ke 0. Pendaklarasian array harus dilakukan di awal program.

Misalnya, kita ingin menampilkan array panjang ke 2, maka kita jalankan:
printf("%d", panjang[2]);

Array 2 dimensi

Array 2 dimensi sama seperti array 1 dimensi, hanya saja, jika diibaratkan sebagai dimensi bentuk, array 1 dimensi hanya memiliki panjang, sedangkan array 2 dimensi memiliki panjang dan lebar.

Contoh:
Array[2][2] = {{1,2}, {3,4}}, artinya Array[1][1] memiliki nilai 1, Array[1][2] memiliki nilai 2 dan seterusnya.

Visualisasi:

No comments:

Post a Comment