Program sistem pointer sederhana


disini ada contoh.script lengkap(tumben) buaat ngeliat sistem kerja pointer. jadi disini kita alokasikan memori pointer a dengan panjang b..(karena indeks itu mulai dari nol jadi kita cukup mengalokasikan memori sepanjang (b-1). Cara mengisi pointer yaitu dengan mengisi nilai pada masing-masing alamat yang sudah

dialokasikan. misal cin<<(a+0);(pengulangan  pertama) artinya kita mengisi alamat a yg sudah dialokasikan dengan suatu nilai.cin<<(a+1). berati alamat a ditambah dengan berapa bit panjang data yang kita inputkan sebelumnya.. misal untuk char karena panjang satu char adalah 4 bit.. maka memori (a+1) sama dengan a+4 bit. untuk lebih jelasnya dapat dilihat pada program berikut. disini saya berikan 3 buah cout. yaitu pointer setelah di alokasikan. pointer setah siisikan data. dan pointer setelah di delete(dealokasi memori).
karena program ini lengkap n cuma main jadi bisa langsung dirun.. monggo dicoba..

#include <iostream>
#include <conio>

void main()
{
   int b;
   cout<<"Masukkan panjang nama anda :";
   cin>>b;
char *a=new char[b-1];

   cout<<"\n\nTiap huruf nama anda disimpan di :";
for(int i=0;i<b;i++)
{
cout<<"\nHuruf :"<<*(a+(2*i))<<" Disimpan di alamat :"<<(&a+(2*i))<<endl;
   }

cout<<"Masukkan nama anda:";
for(int i=0;i<b;i++)
{
cin>>*(a+(2*i));
   }

cout<<"\n\nTiap huruf nama anda disimpan di :";
for(int i=0;i<b;i++)
{
cout<<"\nHuruf :"<<*(a+(2*i))<<" Disimpan di alamat :"<<(&a+(2*i))<<endl;
   }
   delete a;
   cout<<"\n\nTiap huruf nama anda disimpan di :";
for(int i=0;i<b;i++)
{
cout<<"\nHuruf :"<<*(a+(2*i))<<" Disimpan di alamat :"<<(&a+(2*i))<<endl;
   }
   getch();
}

kalau ada pertanyaan ato prmasalahn silahkan dicment..maklum baru belajar ..thx..

Comments