A.
Pengertian Pointer
Pointer adalah sebuah variabel yang berisi alamat lain. Suatu pointer
dimaksudkan untuk menunjukan ke suatu alamat memori sehingga alamat dari suatu
variabel dapat diketahui dengan mudah.
Intinya
:
-
Pointer adalah suatu variabel yang menunjuk ke alamat memory variabel yang
lainnya.
-
Variabel pointer berisi suatu(alokasi memory).
B. Alamat
Dari Variabel
Misalkan
kamu memiliki variabel x dan terletak di memori 0x000001. Jika kamu ingin
memasukkan nilai 100 kedalam variabel x, maka processor harus
membawa nilai 100 tersebut kedalam variabel x yang terletak di alamat memori
0x000001. Hal yang perlu kamu ketahui adalah, setiap variabel ternyata memiliki
ukuran byte yang berbeda-beda dalam memori. Sebagai contoh suatu variabel
bertipe int memiliki ukuran 4 byte dalam memori. Maka variabel tersebut akan
menempati 4 kapling lokasi dalam memori, misalkan 0x000001, 0x000002, 0x000003,
dan 0x000004. Jika terdapat dua buah variabel bertipe int yang bersebelahan,
maka alamat variabel pertama terletak di 0x000001 dan variabel kedua terletak
dialamat 0x000005.
Memori
menggunakan bilangan heksadesimal yang ditandai dengan awalan ‘0x’, sehingga
jika suatu variabel menempati blok kesepuluh dalam memori, maka alamatnya
adalah 0x00000a
C.
Fungsi Pointer
Kegunaan
pointer yang utama adalah untuk menyimpan alamat memori dari sebuah variabel
dan alamat
dari
sebuah fungsi. Pointer dapat meningkatkan kinerja untuk operasi yang dilakukan
secara berulang.
D.
Operator Pointer
Ada 2
operator pointer yang dikenal secara luas, yaitu operator “&” dan operator
“*”.
a.
Operator &
Operator
& merupakan operator alamat. Pada saat
pendeklarasian variabel, user tidak
diharuskan
menentukan lokasi sesungguhnya pada memory,
hal ini akan dilakukan secara
otomatis
oleh kompiler dan operating sysem pada saat run-time.
Jika
ingin mengetahui dimana suatu variabel akan disimpan, dapat dilakukan
dengan memberikan
tanda
ampersand (&) didepan variable , yang berarti "address of".
Contoh
:
Misalkan
variabel DATA_1 diletakkan pada alamat memory 1770, kemudian dituliskan
instruksi
sbb
:
DATA_1 = 27; à
Variabel DATA_1 berisi data 27
DATA_2 = DATA_1; à Variabel DATA_2 diberi isi
seperti DATA_1, yaitu 27
DATA_3 = &DATA_1; à
Variabel DATA_3 berisi alamat memory DATA_1, yaitu 1770
b.
Operator *
Operator
* merupakan operator reference. Dengan menggunakan pointer,kita dapat
mengakses
nilai
yang tersimpan secara langsung dengan
memberikan awalan operator asterisk (*)
pada
identifier
pointer, yang berarti "value pointed by".
Contoh
:
Melanjutkan
deklarasi sebelumnya, jika ada penulisan variabel berikut
DATA_4
= *DATA_3
Dapat
dikatakan bahwa DATA_4 sama dengan nilai yang ditunjuk oleh DATA_3.
DATA_3
berisi alamat memory 1770, sementara memory 1770 menampung data bernilai
27.
Jadi
DATA_4 berisi nilai yang berada pada alamat 1770, yaitu 27.
E. Contoh Penerapan Program
SS
Program :
referensi
: http://laraswahyu.blogspot.com/2017/05/pointer-dalam-bahasa-c-pengertian.html
https://www.sinauarduino.com/artikel/pointer-pada-pemrograman-cpp/
No comments:
Post a Comment