Pointer
-
Upload
achmad-solichin -
Category
Education
-
view
1.074 -
download
0
description
Transcript of Pointer
POINTERPOINTEROleh Achmad Solichin
Assisten Labkom FTI Universitas Budi Luhur
POINTER ADALAHPOINTER ADALAHsuatu variabel yang berisi suatu variabel yang berisi alamat memori dari suatu alamat memori dari suatu variabel lain. Alamat ini variabel lain. Alamat ini merupakan lokasi dari merupakan lokasi dari obyek lain (biasanya obyek lain (biasanya
variabel lain) di dalam variabel lain) di dalam memori memori
OPERATOR dalam Pointer :OPERATOR dalam Pointer :
• Operator *– Operator UNARY yang
menghasilkan nilai variabel dari suatu variabel alamat
• Operator &– Operator UNARY yang
menghasilkan alamat dari suatu variabel
DEKLARASI POINTERDEKLARASI POINTER
• type *nama_pointer;
• Contoh :– int *px;– char *pstring;– float *pecah;– int *dodol;
POINTERPOINTER
POINTERPOINTER
Jalan Ciledug Raya No 95 Jakarta
RUMAHALAMAT
VARIABELBIASA
VARIABELPOINTER
A *pA
POINTERPOINTER
int a;int *pa;a = 10;pa = &a
a
pa
10
FFF4
#include “stdio.h”#include “stdio.h”#include “conio.h”#include “conio.h”void main()void main(){ int x, y;{ int x, y; /* x dan y bertipe int *//* x dan y bertipe int */int *px;int *px; /* px pointer yang menunjuk /* px pointer yang menunjuk objek */objek */clrscr();clrscr();x = 87;x = 87;px = &x;px = &x; /* px berisi alamat dari x *//* px berisi alamat dari x */y = *px;y = *px; /* y berisi nilai yang ditunjuk px *//* y berisi nilai yang ditunjuk px */printf(“Alamat x = %p\n”, &x);printf(“Alamat x = %p\n”, &x);printf(“Isi px = %p\n”, px);printf(“Isi px = %p\n”, px);printf(“Isi x = %i\n”, x);printf(“Isi x = %i\n”, x);printf(“Nilai yang ditunjuk oleh px = %i\n”, *px);printf(“Nilai yang ditunjuk oleh px = %i\n”, *px);printf(“Nilai y = %i\n”, y);printf(“Nilai y = %i\n”, y);getch();getch();}}
#include “stdio.h”#include “stdio.h”#include “conio.h”#include “conio.h”void main()void main(){ float *x1, *x2, y;{ float *x1, *x2, y;clrscr();clrscr();y = 13.45;y = 13.45;x1 = &y;x1 = &y; /* Alamat dari y disalin ke variabel /* Alamat dari y disalin ke variabel x1 */x1 */x2 = x1;x2 = x1; /* Isi variabel x1 disalin ke /* Isi variabel x1 disalin ke variabel x2 */variabel x2 */printf(“Nilai variabel y = %.2f ada di alamat %p\n”, printf(“Nilai variabel y = %.2f ada di alamat %p\n”, y, x1);y, x1);printf(“Nilai variabel y = %.2f ada di alamat %p\n”, printf(“Nilai variabel y = %.2f ada di alamat %p\n”, y, x2);y, x2);getch();getch();}}
#include “stdio.h”#include “stdio.h”#include “conio.h”#include “conio.h”void main()void main(){ int nilai[3], *penunjuk;{ int nilai[3], *penunjuk;clrscr();clrscr();nilai[0] = 125;nilai[0] = 125;nilai[1] = 345;nilai[1] = 345;nilai[2] = 750;nilai[2] = 750;penunjuk = &nilai[0];penunjuk = &nilai[0];printf(“Nilai %i ada di alamat memori %p\n”, printf(“Nilai %i ada di alamat memori %p\n”, *penunjuk, penunjuk);*penunjuk, penunjuk);printf(“Nilai %i ada di alamat memori %p\n”, printf(“Nilai %i ada di alamat memori %p\n”, *(penunjuk+1), penunjuk+1);*(penunjuk+1), penunjuk+1);printf(“Nilai %i ada di alamat memori %p\n”, printf(“Nilai %i ada di alamat memori %p\n”, *(penunjuk+2), penunjuk+2);*(penunjuk+2), penunjuk+2);getch();getch();}}