Social Icons

twitterfacebookgoogle pluslinkedinrss feedemail

Monday, April 16, 2012

Pointer

Pointer adalah sebuah variabel yang isi datanya adalah alamat memori atau variabel lain. Sehingga pointer dapat juga disebut sebagai variabel alamat. 


Untuk mendeklarasikan sebuah pointer, perintah dasarnya adalah :
 Typedata *namavariabel;


Pengisian data ke variabel pointer

  Pengisian data ke variabel pointer bisa berarti pengisian alamat memori ke variabel tersebut atau pengisian data yang ditunjuk oleh pointer.

  Untuk lebih jelasnya, perhatikan program dibawah ini :

01: #include <stdio.h>
02: #include <conio.h>
03: #include <string.h>
04:
05: main()
06: {
07:    char  c,*pc;
08:    int   i,*pi;
09:    float f,*pf;
10:    clrscr();
11:    c='A';i=7;f=6.25;
12:    printf("c : alamat=0x%p, isi=%c\n", &c, c);
13:    printf("x : alamat=0x%p, isi=%d\n", &i, i);
14:    printf("y : alamat=0x%p, isi=%5.2f\n", &f, f);
15:    pc=&c;
16:    pi=&i;
17:    pf=&f;
18:    printf("pc: alamat=0x%p, isi=%c\n", pc, *pc);
19:    printf("pi: alamat=0x%p, isi=%d\n", pi, *pi);
20:    printf("pf: alamat=0x%p, isi=%5.2f\n", pf, *pf);

21:    *pc='B';
22:    *pi=125;
23:    *pf=512.56;
24:    printf("c : isi=%c\n", c);
25:    printf("x : isi=%d\n", i);
26:    printf("y : isi=%5.2f\n", f);
27:    getch();
28:    return 0; 
 29: }

Jika dieksekusi, maka akan menghasilkan sebuah tampilan sebagai berikut :
c : alamat=0xFFF5, isi=A
x : alamat=0xFFF2, isi=7
y : alamat=0xFFEE, isi= 6.25
pc: alamat=0xFFF5, isi=A
pi: alamat=0xFFF2, isi=7
pf: alamat=0xFFEE, isi= 6.25
c : isi=B
x : isi=125
y : isi=512.56

Keterangan Program :
  •  Pada baris 7 : Pendeklarasian sebuah variabel c dengan tipe char, dan sebuah pointer pc yang merupakan pointer char.
  • Pada baris 8 : Pendeklarasian sebuah variabel i dengan tipe int, dan sebuah pointer pi yang merupakan pointer int.
  • Pada baris 9 : Pendeklarasian sebuah variabel f dengan tipe int, dan sebuah pointer pf yang merupakan pointer float.
  • Pada baris 11 : Pengisian variabel c dengan karakter ‘A’, variabel i  dengan nilai 7, dan variabel f dengan nilai 6.25.
  • Pada baris 12 : Menampilkan alamat variabel c dan isinya.
  • Pada baris 13 : Menampilkan alamat variabel i dan isinya.
  • Pada baris 14 : Menampilkan alamat variabel f dan isinya.
  • Pada baris 15 : Variabel pointer pc diisi dengan alamat variabel c sehingga kedua variabel mengacu ke tempat yang sama sehingga ketika isi pc diubah maka berarti merubah isi variabel c dan begitu juga sebaliknya.
  • Pada baris 15 : Variabel pointer pi diisi dengan alamat variabel i sehingga kedua variabel mengacu ke tempat yang sama sehingga ketika isi pi diubah maka berarti merubah isi variabel i dan begitu juga sebaliknya.
  • Pada baris 15 : Variabel pointer pf diisi dengan alamat variabel f sehingga kedua variabel mengacu ke tempat yang sama sehingga ketika isi pf diubah maka berarti merubah isi variabel f dan begitu juga sebaliknya.
  • Baris 16, 17 dan 18 : Menampilkan data yang ditunjuk oleh pointer pc, pi, dan pf, yang hasilnya pasti sama dengan hasil baris 12, 13, dan 14. 
  • Baris 19 : Mengisi data ke alamat yang ditunjuk oleh pc dengan nilai B, yang berarti juga mengganti nilai variabel c.
  • Baris 20 : Mengisi data ke alamat yang ditunjuk oleh pi dengan nilai 125, yang berate juga mengganti nilai variabel i.
  • Baris 21 : Mengisi data ke alamat yang ditunjuk oleh pf dengan nilai 512.56, yang berarti juga mengganti nilai variabel f.
  • Baris 22,23 dan 24 : Menampilkan isi nilai variabel c, i dan f, yang telah diubah oleh variabel pointernya.

No comments:

Post a Comment

Searching

 
“Jadilah engkau orang yang berilmu (pandai), atau orang
yang belajar, atau orang yang mau mendengarkan ilmu, atau orang yang menyukai ilmu. Dan
janganlah engkau menjadi orang yang kelima maka kamu akan celaka" (H.R. Baehaqi)
Janganlah kalian menuntut ilmu untuk membanggakannya terhadap para ulama dan untuk diperdebatkan di kalangan orang-orang bodoh dan buruk perangainya. Jangan pula menuntut ilmu untuk penampilan dalam majelis (pertemuan atau rapat) dan untuk menarik perhatian orang-orang kepadamu. Barangsiapa seperti itu maka baginya neraka … neraka. (HR. Tirmidzi dan Ibnu Majah)