Kamis, 05 November 2009
Pointer C++
Pengertian Pointer
Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel lain) di dalam memori. Contoh, jika sebuah variabel berisi alamat dari variabel lain, variabel pertama dikatakan menunjuk ke variabel kedua.


Operator Pointer
Ada 2 operator pointer yang dikenal secara luas, yaitu operator & dan operator *.
Operator &


       


Operator & merupakan operator alamat. Pada saat pendeklarasian variable, user tidak diharuskan menentukan lokasi sesungguhnya pada memory, hal ini akan dilakukan secara otomatis oleh kompiler dan operating sysem pada saat run-time. Jika ingin mengetahui dimana suatu variable akan disimpan, dapat dilakukan dengan memberikan tanda ampersand (&) didepan variable , yang berarti "address of". Contoh :

ted = &andy;

Penulisan tersebut berarti akan memberikan variable ted alamat dari variable andy. Karena variabel andy diberi awalan karakter ampersand (&), maka yang menjadi pokok disini adalah alamat dalam memory, bukan isi variable. Misalkan andy diletakkan pada alamat 1776 kemudian dituliskan instruksi sbb :

andy = 25;

fred = andy;

ted = &andy;



Operator *






Operator * merupakan operator reference. Dengan menggunakan pointer, kita dapat mengakses nilai yang tersimpan secara langsung dengan memberikan awalan operator asterisk (*) pada identifier pointer, yang berarti "value pointed by". Contoh :

beth = *ted;

(dapat dikatakan:"beth sama dengan nilai yang ditunjuk oleh ted") beth = 25, karena ted dialamat 1776, dan nilai yang berada pada alamat 1776 adalah 25.


Ekspresi dibawah ini semuanya benar, perhatikan :

andy = 25;

&andy = 1776;

ted = 1776;

*ted = 25;



Ekspresi pertama merupakan assignation bahwa andy = 25;. Kedua, menggunakan operator alamat (address/derefence operator (&)), sehingga akan mengembalikan alamat dari variabel andy. Ketiga bernilai benar karena assignation untuk ted adalah ted = &andy;. Keempat menggunakan reference operator (*) yang berarti nilai yang ada pada alamat yang ditunjuk oleh ted, yaitu 25. Maka ekspresi dibawah ini pun akan bernilai benar :

    *ted = andy;



Deklarasi Pointer
    Seperti halnya variabel lain, variabel pointer juga harus dideklarasikan terlebih dahulu sebelum digunakan. Bentuk umum deklarasi pointer adalah :




Dimana Tipe_data
merupakan tipe dari data yang ditunjuk, bukan tipe dari pointer-nya. Contoh :
    1. Mensubstitusikan address sebuah variabel ke pointer dengan memakai address operator &
        int     x;
int     *ptr;
ptr = &x;

    2.    Mensubstitusikan address awal sebuah array ke pointer
        char     t[5];
char    *ptr;
ptr =     t;

    3.    Mensubstitusikan address salah satu elemen array dengan address operator
        char     t[5] ;
char    *ptr;
ptr =     &t[3];

    4.    Mensubstitusikan address awal character string ke pointer char
        char    *ptr;
ptr =     "jakarta"

    5.    Mensubstitusikan NULL pada pointer. NULL ada pointer kosong, menunjukkan suatu status dimana pointer itu belum diinisialisasikan dengan sebuah address tertentu.
    6.    Memakai fungsi MALLOC.

   Sumber :http://mas-devid.blogspot.com/2009/05/handout-pointer-in-c.html

Label:

posted by Serunya Belajar IT @ 19.02  
0 Comments:

Posting Komentar

<< Home
 
About Me


Name: Serunya Belajar IT
Home: Jakarta, Indonesia
About Me: IT is one of something that i like beside photography and pencak silat,it's a new one that i want to know may be because it still related and supported my job as a photografer
See my complete profile

Previous Post
Archives
Links
Free Blogger Templates