Pointer C++ dengan Codeblocks [TI Politala Alpro 2C]
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 :
Deklarasi untuk mengakses anggota stuktur
melalui pointer dapat dilihat pada cara berikut.
2. Menggunakan alokasi memori dinamis
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
|
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
0 Komentar