pointer
DESCRIPTION
POINTER. Pengertian. POINTER/ penunjuk adalah variabel yang menyimpan atau menunjuk suatu alamat memori dan bukannya menyimpan suatu nilai. Operator Pointer. Ada dua , yaitu & (ampersand) * (asterisk). Operator &. & merupakan operator alamat - PowerPoint PPT PresentationTRANSCRIPT
POINTER
Pengertian
• POINTER/penunjuk adalah variabel yang menyimpan atau menunjuk suatu alamat memori dan bukannya menyimpan suatu nilai.
Operator Pointer
• Ada dua, yaitu
1. & (ampersand)2. * (asterisk)
Operator &
• & merupakan operator alamat• Pada saat pendeklarasian variabel, user tidak
diharuskan menentukan lokasi sesungguhnya pada memori. Hal ini akan dilakukan secara otomatis oleh kompiler dan operating sistem pada saat tun-time.
• Jika ingin mengetahui dimana suatu variabel akan disimpan, dapat dilakukan dengan memberikan tanda ampersand (&) di depan variabel yang berarti “address of”
• Contoh
int toko= 12 ; //pemberian nilai awal
int x= &toko ; //memberikan nilai x dengan alamat dari variabel toko
Karena variabel toko diberi awalan &, maka yang diambil adalah alamat dari variabel toko, bukan isi/nilai variabel toko.
Operator *
• * merupakan operator reference• Dengan menggunakan pointer, kita dapat
mengakses nilai yang telah tersimpan secara langsung dengan memberikan awalan operator asterisk (*) pada identifier pointer yang berarti “value pointer by”
• Contoh:
int toko= 12 ; int x= &toko ;Int isi= *x;
dapat dikatakan “variabel isi sama dengan nilai yang ditunjuk oleh x” sehingga nilai dari variabel isi = 12
Contoh program
#include <iostream.h>#include <conio.h>main(){
int x;int y;int *px; //pointer yang menunjuk objekx = 25; //pemberian nilaipx = &x; // px berisi alamat dari xy = *px; // y berisi nilai yang ditunjuk px
cout<<"isi x = "<< x <<"\n\n";cout<<"alamat x = "<< &x <<"\n\n";cout<<"isi px = "<< px <<"\n\n";cout<<"isi *px = "<< *px <<"\n\n";cout<<"nilai y = "<< y <<"\n\n";cout<<"nilai *(&x) = "<< *(&x) <<"\n\n";getch();}
kerjakan #include <iostream.h>#include <conio.h>main(){
int nangka;int kelapa;int *pisang;pisang = &kelapa; kelapa = 200; nangka = *pisang; }
Pertanyaan:1. Isi dari &kelapa2. Isi dari kelapa3. Isi dari nangka 4. Isi dari pisang5. Isi dari *(&kelapa)