Struktur Data Part 2 - Pointer

Pembaca yang budiman, di point ini saya berhenti cukup lama. Susah memahami secara mendalam tentang apa itu pointer. Padahal sederhananya begini, pointer itu sebenarnya adalah variabel, tapi variabel yang secara tidak langsung menunjuk pada address dari variabel yang lain.

Ada 2 macam operator pointer, yaitu:
  1. Operator deference(&)
  2. Operator reference(*) 
Pada saat kita memberi nilai pada sebuah variabel, nilai itu ditempatkan dalam sebuah alamat(address) memori. Pada dasarnya kita tidak harus menentukan dimana variabel dan nilainya itu ditempatkan, karena sudah diatur oleh compiler c++.  Tapi sisi negatifnya kita jadi tidak mengetahui dimana variabel tersebut disimpan (pada alamat memori tertentu).
1. Operator deference

Untuk mengatasi masalah tersebut (mengetahui alamat memori) kita dapat menggunakan operator pointer deference yaitu dengan menempatkan tanda address of atau "&" didepan sebuah variabel.

2. Operator reference

Sebaliknya, untuk mengetahui nilai variabel yang disimpan pada alamat memori tertentu kita dapat menggunaka operator reference. yaitu dengan menambahkan tanda asterisk (*) pada depan variabel yang berisi nilai alamat memori.

Contoh dari kedua operator pointer tersebut dapat dilihat dari kode berikut ini:

perhatikan penggunaan tanda & dan * sebagai operator pointer



Hasil dari kode tersebut adalah:

hasil run compile dan run dari kode diatas

Pendeklarasian pointer dapat dilakukan dalam konstanta dan variabel.

1. Deklarasi Pointer pada Konstanta = `Type data` * const `nama_konstanta`

2. Deklarasi Pointer pada Variabel= `Type data` * `nama_variabel`


0 komentar:

Posting Komentar