Selasa, 30 Oktober 2018

Pointer and Array

Pointer


Pointer adalah sebuah variabel yang berfungsi untuk menyimpan alamat dari variabel lain. Pointer menunjuk ke sebuah alamat dari suatu memori dan dapat memberikan nilai yang tertampung dalam alamat tersebut. Ilustrasi pointer dapat dilihat di bawah berikut:





Dalam gambar tersebut, a adalah sebuah variabel pointer yang menyimpan alamat dari variabel b di mana alamat dari variabel b ini adalah 1008.







Cara mendeklarasikan sebuah pointer adalah sebagai berikut:





Pointer di atas dapat memiliki tipe data apa saja selain integer, dan pointer juga dapat memiliki nama apa saja selain ptr, tetapi hal yang paling penting adalah dengan menambahkan * di depannya.

Simbol penting dalam pointer:

  • (*) menandakan "content of", nilai dari variabel yang ditunjuk pointer.
  • (&) menandakan "address of", alamat dari variabel yang ditunjuk pointer.
Juga terdapat istilah double pointer di mana pointer ini menunjuk ke sebuah pointer lain, untuk lebih jelasnya di bawah ini merupakan ilustrasi dan kode yang menjelaskan pointer tersebut:
















Array

Array adalah sebuah struktur data yang disusun dalam index yang berurut. Data yang disimpan bersifat homogen, yang artinya semua data memiliki tipe data yang sama. Data dalam array juga dapat diakses secara individu atau berkelompok tanpa harus diambil satu persatu secara berurutan. Berikut adalah cara untuk membuat suatu array:

Hal penting yang harus diingat adalah index array selalu dimulai dari 0
Remember!
Apabila anda ingin menginisialisasikan array, anda harus melakukannya ketika anda mendeklarasikannya. Inisiasi yang dilakukan setelah melakukan deklarasi akan menimbulkan error!

Do the above not the below
Contoh yang sudah saya berikan merupakan contoh dari array satu dimensi. Sekarang saya akan memberikan contoh dari array 2 dimensi beserta visualisasinya:



Selain 2 dimensi, anda juga dapat membuat array 3 dimensi bahkan tak terbatas jumlahnya selama alokasi memori PC anda membolehkannya.




Referensi:
https://en.wikipedia.org/wiki/Pointer_(computer_programming)
https://beginnersbook.com/2014/01/c-pointer-to-pointer/