Pointer merupakan variabel yang dapat memegang alamat dari suatu objek dalam memori. Pointer digunakan dalam program untuk mengakses dan manipulasi data pada alamat tertentu. Dalam ANSI/C, array dan pointer memiliki keterkaitan yang erat. Array dikenal sebagai pointer yang tetap (fixed pointer) sedangkan pointer sangat
dinamis, artinya alamat yang dipegang oleh sebuah pointer dapat berubah-ubah. Jika dalam materi fungsi dikenal mekanisme pengiriman suatu parameter via alamat atau (called-by reference), dalam ANSI/C, pengiriman parameter seperti itu dapat dilakukan menggunakan pointer.
Definisi
Pointer adalah sebuah variabel dengan tipe tertentu yang dapat digunakan untuk mencatat alamat dari suatu variabel yang setipe dengannya, mengakses dan memanipulasi data yang tersimpan dalam alamat tersebut. Jika int x adalah sebuah variable bertipe integer maka &x berarti alamat dari x. Jika p adalah sebuah pointer bertipe integer maka p dapat menyimpan dan memegang alamat dari x tersebut.
berikut beberapa script C++ untuk Pointer
//Program Pointer 01
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
main ()
{
int a,*b;
a = 20;
b = &a;
cout<<"pointer b menunjukkan "<<b<<endl;
cout<<"menunjukkan nilai "<<*b<<endl;
getche();
}
//program pointer 02
#include <iostream>
#include <stdio.h>
#include <conio.h>
main ()
{
int r,*a;
a=&r;
cout<<"Masukkan Nilai = "; cin >> r;
cout<<"Alamatnya = "<<a<<endl;
getche();
}
//program Pointer 03
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
main ()
{
int value_1=5,value_2=10;
int *mypointer;
mypointer = &value_1;
*mypointer = 8;
mypointer = &value_2;
*mypointer = 14;
cout<<"Value 1 sekarang = "<<value_1<<endl;
cout<<"Value 2 sekarang = "<<value_2<<endl;
getche();
}
//program pointer 4
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
main ()
{
int a,*Pa;
Pa=&a;
*Pa=200;
cout<<*Pa<<" ";
(*Pa)++;
cout<<*Pa<<" ";
(*Pa)--;
cout<<*Pa<<"\n";
getche();
}
//Program pointer 5
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
int main()
{
int i[10], *i_ptr;
double f[10], *f_ptr;
int x;
i_ptr = i; // i_ptr points to first element of i
f_ptr = f; // f_ptr points to first element of f
for(x=0; x<10; x++)
cout << i_ptr+x << " " << f_ptr+x << "\n";
getche();
}
//program pointer 6
#include <stdio.h>
#include <conio.h>
#include <iostream>
main ()
{
int a,b,*P_a,*P_b;
P_a=&a;
P_b=&b;
cout<<"masukkan nilai a = "; cin >> a;
cout<<"masukkan nilai b = "; cin >> b;
cout<<"alamat dari a adalah "<<P_a<<endl;
cout<<"alamat dari b adalah "<<P_b<<endl;
getche();
}
//program pointer 7
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main()
{
int *data;
int i,banyakdata;
printf("Banyak data yang akan diinputkan : ");scanf("%i",&banyakdata);
data=(int *)malloc(sizeof(int)*banyakdata);
for(i=0;i<banyakdata;i++)
{
printf("Pemasukan data ke-%i :",i+1);scanf("%i",(data+i));
}
printf("Data yang telah diinputkan adalah : \n");
for(i=0;i<banyakdata;i++)
printf("Data ke-%i : %i\n",i+1,*(data+i));
getch();
return 0;
}
//program pointer 6
#include <stdio.h>
#include <conio.h>
#include <iostream>
main ()
{
int a,b,*P_a,*P_b;
P_a=&a;
P_b=&b;
cout<<"masukkan nilai a = "; cin >> a;
cout<<"masukkan nilai b = "; cin >> b;
cout<<"alamat dari a adalah "<<P_a<<endl;
cout<<"alamat dari b adalah "<<P_b<<endl;
getche();
}
//program pointer 7
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main()
{
int *data;
int i,banyakdata;
printf("Banyak data yang akan diinputkan : ");scanf("%i",&banyakdata);
data=(int *)malloc(sizeof(int)*banyakdata);
for(i=0;i<banyakdata;i++)
{
printf("Pemasukan data ke-%i :",i+1);scanf("%i",(data+i));
}
printf("Data yang telah diinputkan adalah : \n");
for(i=0;i<banyakdata;i++)
printf("Data ke-%i : %i\n",i+1,*(data+i));
getch();
return 0;
}
//program pointer 8
#include <stdio.h>
#include <conio>
main()
{
int y, x = 23 ; /* x & y bertipe int */
int *px;
/* var pointer yang menunjuk ke data yang bertipe int */
px = &x; /* px diisi dengan alamat dari variabel x */
y = *px; /* y diisi dengan nilai yg ditunjuk oleh px */
printf("Alamat x = %p\n", &x);
printf("Isi px = %p\n", px);
printf("Isi x = %d\n", x);
printf("Nilai yang ditunjuk oleh px = %d\n", *px);
printf("Nilai y = %d\n", y);
getche();
}
//program pointer 9
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
void main()
{
char kata[100];
char *balik;
int i,jumlah;
jumlah=0;
balik=kata;
char x;
do
{
cout<<"\t ===---------------**--------------=== \n\n";
cout <<"\t Masukkan kata : ";
gets(kata);
for(i=0;kata[i]!='\0';i++)
{jumlah ++;}
cout<<"\n\t ===---------------**--------------=== \n\n";
cout << "\t Setelah Pembalikan Kata :";
for(i=jumlah-1;i>=0;i--)
{cout << *(balik + i);}
cout<<"\n\n\t ===---------------**--------------=== \n\n";
cout<<"\n\t Tekan y untuk mengulang = ";
cin>>x;
} while ((x=='y') || (x=='Y'));
getch();
//program pointer 10
#include <stdio.h>
#include <conio.h>
void main()
{
int nilai1,nilai2,nilai3,*penunjuk,*penunjuk1,*penunjuk2;
nilai1 = 123;
nilai2 = 345;
nilai3 = 678;
clrscr();
penunjuk = &nilai1;
penunjuk1 = &nilai2;
penunjuk2 = &nilai3;
printf("Nilai %d di alamat memory %p \n",*penunjuk,penunjuk);
printf("Nilai %d di alamat memory %p \n",*(penunjuk1),penunjuk+1);
printf("Nilai %d di alamat memory %p \n",*(penunjuk2),penunjuk+2);
getch();
clrscr();
}
Kurang lengkap, berikut link untuk lebih lengkapnya download tutorialnya disini
TerimaKasih =D
3 comments:
kalau soalnya kaya gni gmna???
tolong jawab sekrng ya plisssssssss
Menghitung rata-rata bilangan dengan menggunakan fungsi.
Masukkan bilangan pertama, simpan di variable pertama. Masukan bilangan kedua, simpan divariable kedua. Kemudian hitung dan cetaklah berapa rata-rata bilangan genap dan rata-rata bilangan ganjil dari mulai bilangan pertama sampai dengan bilangan kedua. Untuk menghitung rata-rata buat fungsi untuk menghitung, dan untuk mencetak rata-rata buat fungsi cetak. (FUNGSI_AVR.CPP)
klo posting jgn copas doank dari web sbelah. tp di pelajari jg..
nice information min
solder uap
Posting Komentar