1. Pengertian Pointer

Pointer adalah variabel yang menunjuk pada variabel lainnya. Sebelumnya pernah dijelaskan mengenai variabel, menyatakan bahwa. Variabel merupakan sebuah memori perwakilan dari alamat memori pada komputer.
Hal yang sebenarnya terjadi adalah pointer itu menyimpan alamat memori yang dia tunjuk. Pada pointer kita dimungkinkan untuk menunjuk suatu memori, mengubah nilai dan menyalin nilai memori tersebut secara tidak langsung (perantara melalui variabel pointer). Jadi, pointer merupakan variabel yang digunakan untuk menunjukkan suatu alamat memori komputer.

2. Macam-Macam Operator Pointer


&nama_pointer   è menunjukkan alamat nama_pointer
  *nama_pointer  è menunjukkan nilai dari alamat nama_pointer

  • Address-of Operator (&), adalah operator yang memungkinkan kita untuk mendapatkan/melihat alamat memori yang dimiliki oleh variabel tersebut. 
  • Dereference Operator (*), adalah operator yang memungkinkan mendapatkan isi/nilai dari sebuah memori berdasarkan alamat memori.

3. Operasi Pada Pointer


Operasi pada Pointer       
     Pada pointer terdapat 3 jenis operator, yaitu operator penugasan, operator aritmatika, dan operator logika.
              a.          Operator Penugasan
Nilai dari suatu variabel pointer dapat disalin ke variabel pointer yang lain.
             b.          Operator Aritmatika
Pada pointer dapat dilakukan operasi aritmatika, yaitu operasi penambahan dan pengurangan. Namun operasi ini hanya terbatas untuk tipe data integer saja.
              c.          Operator Logika
Pada pointer dapat digunakan operator logika, yaitu
if (pernyataan)
{
      perintah;
      …
}
else
{
      perintah;
      …
}

4. Struct Pada Pointer

Pointer dapat diakses dengan struktur. Variabel pointer dari struktur dapat dideklarasikan sebagai berikut:

struct nama_struktur
{
       tipe_data1 elemen1;
       tipe_data2 elemen2;
       ….. 

}*nama_pointer;

Elemen dari struct melalui pointer dapat diakses dengan dua cara, yaitu :
1. Merujuk pointer ke alamat lain untuk mengakses memori
Deklarasi untuk mengakses anggota stuktur melalui pointer dapat dilihat pada cara berikut.


struct nama_struktur
{
       tipe_data1 elemen1;
       tipe_data2 elemen2;
       ….. 
}*nama_pointer, nama_objek;

main()
{
nama_pointer = &nama_objek;
}


atau


struct nama_struktur
{
       tipe_data1 elemen1;
       tipe_data2 elemen2;
       ….. 
};

main()
{
struct nama_struktur *nama_pointer, nama_objek;
nama_pointer = &nama_objek;
}


atau


struct nama_struktur
{
       tipe_data1 elemen1;
       tipe_data2 elemen2;
       ….. 
} nama_objek;

struct nama_struktur *nama_pointer ={&nama_objek};


Elemen pointer struktur dapat diakses menggunakan:




(*nama_pointer).elemen             atau       nama_pointer -> elemen

2. Menggunakan alokasi memori dinamis
Untuk mengakses elemen struktur menggunakan pointer, memori dapat dialokasikan secara dinamis menggunakan malloc() function yang terdefinisi di bawah header stdlib.h.
Deklarasi untuk menggunakan malloc()


nama_pointer = (cast-type*)malloc(byte-size)


Listing Program :
Hasil Running : 







Sekian Dari saya, apabila teman-teman ada pertanyaan seputar penjelasan diatas silakan komen dibawah ya : )


Sumber : Modul Alpro 2
              Website Belajar CPP

0 Komentar