POINTER
A. OPERATOR
POINTER
1.
Operator
deference(&)
Biasanya disebut
dengan addres of atau operator alamat. Dengan menggunakan operator ini suatu
variabel akan menghasilkan alamat lokasi.
Contoh :
X=85;
Y=X;
Z=&X;
5
|
0x000gghg00
|
X
5 merupakan nilai
0x000gghg00 merupakan
alamat
Alamat
(&) dapat dihasilkan oleh kompute itu sendiri
2. Operator
reference(*)
Menggunakan operator ini anda dapat mengakses secara
langsung nilai yang terdapat di dalam variabel yang berpointer. Operator ini
biasa disebut dengan value pointed by. Dengan menggunakan ini akan menghasilkam
nilai yang berada pada suatu alamat memori.
Contoh :
X=85;
Y=&X;
Z=*Y;
B. DEKLARASI
POINTER PADA KONSTANTA
SUATU
POINTER DAPAAT dideklarasikan secara konstanta. Untuk mendeklarasikannya
pointer secara konstanta dilakukan dengan memberikan kata cost di depan nama
konstanta.
Tipe_data*cost
nama_konstanta;
|
C. DEKLARASI
POINTER PADA VARIABEL
Digunakan
untuk menunjuk secara langsung ke suatu nilai.
Tipe_data
*nama_konstanta;
|
D.
DEKLARASI
POINTER PADA POINTER
Tidak terbatas menunjuk alamat dari suatu
variabel, pointer dapat pula menunjuk ke pointer lainnya. Didalam pendeklarasiannya
dilakukan dengan menambah pointer reference(*) pada variabel yang ditunjuk.
Tipe_data *nama_konstanta;
|
E.
POINTER
PADA ARRAY
Adalah banyaknya loncatan dari pointer satu
ke pointer lainnya karena secara internal, array juga menyatakan alamat, dimana
pengenal array sama dengan alamat pada eleen pertama pada array.
CONTOH PROGRAM
1. //----------------------------------------------------//
//pendeklarasian pointer pada reference dan
deference//
//---------------------------------------------------//
#include<conio.h>
#include<iostream.h>
Void main () {
Int a, *b, c,*d;
a=75;
b=&a;
c=*b;
cout<<”nilai a=”<<endl;
cout<<”nilai b=”<<endl;
cout<<”nilai c=”<<endl;
getch();
}
Output :
Nilai a=75
Nilai b= 0 x 23b7264g
Nilai c=75
2. //----------------------------------------------//
//pendeklarasian pointer konstanta//
//-------------------------------------------//
#include<conio.h>
#include<iostream.h>
Void main () {
Char *cost nama=”borland C++”
Cout<<”nama program=”<<nama<<endl;
Nama=”visual C++”
Cout<<”nama program=”<<nama<<endl;
Getch();
}
Output :
Nama program=borland c++
Nama program=borland c++
3. //-------------------------------//
//perubahan nilai dengan pointer//
//-----------------------------//
#include<conio.h>
#include<iostream.h>
Void main () {
Int a=94;
Int *b;
Cout<<”nilai awal a=”<<a<<endl;
B=&a;
Cout<<”nilai b sekarang=”<<*b<<endl;
*b=50;
Cout<<”nilai b sekarang=”<<*b<endl;
Cout<<”nilai a sekarang=”<<a<<endl;
Getch();
}
Output :
Nilai awal a=94
Nilai awal a sekrang =94
Nilai awal b=50
Nilai awal b sekarang=50
4. //----------------------------------//
//penggunaan pointer dengan pointer//
//--------------------------------//
#include<conio.h>
#include<iostream.h>
Void main () {
Int a, *b, **c;
A=75;
Cout<<”nilai a=”<<a<<endl;
B=&a;
C=&b;
Cout<<”nilai b hasil mengakses a=”<<*b<<endl;
Cout<<”nilai c hasil mengakses a=”<<**c<<endl;
Getch();
}
Outputnya :
Nilai a=75
Nilai b hasil mengakses a= 75
Nilai c hasil mengakses a=75
1. #inckude<conio.h>
#include<iostream.h>
Void
main () {
Int
i, nilai[5], *ptrNilai;
ptrNilai=nilai;
for(i=1,
i<=5; i++) {
cout<<”masukkan
nilai”<<i<<”=”;
cin>>nilai[i];
}
Cout<<endl;
Cout<<”hasil
pengaksesan elemen array lewat pointer”;
Cout<<endl<<endl;
For(i=1;
i<=5; i++)
Cout<<”elemen”<<i<<”.nilai”<<nilai[i];
Cout<<”,
menempati alamat memori=”<<&ptrNilai[i];
Cout<<endl;
}
Getche()
;
}
OUTPUT
:
Masukkan
nilai 1 =
2. //----------------------------//
//pointer
pada string //
//---------------------------//
#inckude<conio.h>
#include<iostream.h>
Void
main () {
Char
band_metal[]=”SEPULTURA”;
Chsr
*band_punk=”RANCID”;
Cout<<”nama
band metal=”<<band_metal<<endl;
Cout<<”nama
band punk=”<<bank_punk<<endl;
Band_punk+=3;
Cout<<”nama
band metal=”<<band_metal<<endl;
Cout<<”nama
band punk=”<<band_punk<<endl;
Getche();
}
OUTPUT
:
Nama
band metal= SEPULTURAL
nama band punk= RANCID
Tidak ada komentar:
Posting Komentar