Berikut ini contoh program pointer :
#include <conio.h>
#include <stdio.h>
void main() {
clrscr();
char *alm_x; // Deklarasi pointer
char x;
x = 'a';
alm_x = &x; // menyimpan alamat x pada variabel pointer alm_x
printf("x = '%c', disimpan di alamat %p atau %x dalam hexa\n\n", x , alm_x, alm_x);
//Sebuah alamat dapat ditunjuk oleh lebih dari satu pointer
int a = 25;
int *p, *q;
p = &a;
q = p;
printf("Nilai a = %d , ditunjuk oleh p adalah di alamat %p \n", a, p);
printf("Nilai a = %d , ditunjuk oleh q adalah di alamat %p \n\n", a, q);
//Mengisi variabel dengan nilai yang ditunjuk oleh sebuah pointer
int c;
c = *p;
printf("Nilai c = %d, diperoleh dari nilai yg ditunjuk oleh pointer p di alamat %p\n\n", c, p);
//Mengoperasikan isi variabel dengan menyebut alamatnya dengan pointer
int b = 50;
a = 30;
p = &a; q = &b;
printf("Nilai yang ditunjuk p = %d di alamat %p\n", *p , q);
printf("Nilai yang ditunjuk q = %d di alamat %p\n", *q , q);
*q = *p;
printf("Nilai yang ditunjuk p = %d di alamat %p\n", *p , q);
printf("Nilai yang ditunjuk q = %d di alamat %p\n\n", *q , q);
//Mengisi dan mengganti variabel yang ditunjuk oleh pointer
int d, *po;
po = &d;
*po = 40;
printf("Nilai d = %d \n\n", d, po);
//operasi pointer
char s[] = "struktur data";
char *r;
r = s; //bisa juga dengan cara r = &s[0];
for (int i = 0; i < 13; i++) {
printf("%c", *r);
r++;
}
printf("\n");
r--;
for (int i = 0; i < 13; i++) {
printf("%c", *r);
r--;
}
printf("\n");
}
Saturday, December 26, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment