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
Post a Comment