2. Pointer (variabel penunjuk) adalah suatu variabel yang
berisi dengan alamat lokasi suatu memori tertentu. Jadi suatu
pointer bukan berisi dengan suatu nilai data, tetapi berisi suatu
alamat.
3. Misalnya, X adalah suatu variabel yang berisi nilai J. X
bukan variabel penunjuk. Nilai dari X ini oleh kompiler C akan
diletakkan di suatu lokasi memori tertentu. Nilai ini dapat diakses
jika diketahui alamat memorinya. Alamat dari nilai X ini dapat
diketahui dari ungkapan &X. Misalnya alamat dari nilai X ini
akan disimpan di suatu variabel, maka dapat dituliskan sebagai
Alamat_X = &X. Alamat_X adalah variabel pointer, atau disebut
dengan pointer ke X, karena variabel ini menunjukkan ke lokasi di
mana nilai X disimpan.
4. /* -------------------------------------------- Nama
Program: ADP_Pointer_1.cpp Larik String
--------------------------------------------- */ #include #include
main() { char *Alamat_X, X; printf("Contoh Program Pointern");
printf("______________________n"); printf("n"); X = 'J'; Alamat_X =
&X; printf("Nilai dari Variabel X, adalah %c berada di alamat
%pn", X,Alamat_X); printf("n"); system("pause"); }
5. Bahasa C menyediakan dua buah operator untuk operasi
pointer, yaitu * dan &. Kedua operator ini adalah operator
unary. Operator alamat & digunakan untuk mendapatkan alamat
memori dari operandnya. Operator * digunakan untuk mendapatkan
nilai dari operandnya. Operand untuk operator * adalah variabel
pointer, dengan kata lain, operator * digunakan untuk mendapatkan
nilai yang berada di alamat memori yang ditunjukkan oleh variabel
pointer
6. /* ---------------------------------------------------------
Nama Program: ADP_Pointer_2_Operator.cpp Larik String
--------------------------------------------------------- */
#include #include main() { char *Alamat_X,X,Y,Z; printf("Contoh
Program Operator Pointern");
printf("_______________________________n"); printf("n"); X = 'J';
Alamat_X = &X; Y = X; Z = *Alamat_X; printf("Nilai Variabel X
adalah %cn", X); printf("Nilai Variabel Y adalah %cn", Y);
printf("Nilai Variabel Z adalah %cn", Z); printf("Nilai Variabel X
berada di alamat %pn", Alamat_X); printf("n"); system("pause");
}
7. Variabel pointer dideklarasikan dengan nama variabelnya
ditulis dengan diawali karakter asterik *. Bentuk umum deklarasi
variabel pointer ini adalah: tipe *nama-variabel-pointer; Variabel
pointer yang dideklarasikan dapat juga langsung diberi nilai
awal.
8. /* ----------------------------------------- Nama Program:
ADP_Pointer_3_Deklarasi.cpp Larik String
----------------------------------------- */ #include #include
main() { float Nilai, *Alamat=&Nilai; printf("Contoh Program
Deklarasi Pointern"); printf("________________________________n");
printf("n"); Nilai = 100.00; printf("Nilai %8.2f berada di alamat
memori %pn", Nilai, Alamat); printf("n"); system("pause"); }
9. Terdiri dari 1. Operasi Pengerjaan 2. Operasi Aritmatika 3.
Operasi Logika
10. Suatu variabel pointer dapat dikerjakan ke variabel pointer
lainnya, yaitu nilai suatu variabel pointer dapat dipindahkan ke
variabel pointer yang lainnya.
11. /*
---------------------------------------------------------------------------
Nama Program: ADP_Pointer_4_Operasi_Pengerjaan.cpp Operasi
Pengerjaan Pointer
---------------------------------------------------------------------------
*/ #include #include main() { float Y, *X1, *X2; printf("Contoh
Program Operasi Pengerjaan Pointern");
printf("_________________________________________n"); printf("n");
Y = 150,97; X1 = &Y; X2 = X1; //Pengerjaan variabel pointer
printf("Nilai variabel Y ada di alamat %pn", X1); printf("Nilai
variabel Y ada di alamat %pn", X2); printf("n"); system("pause");
}
12. Variabel pointer dapat dilakukan operasi aritmatika, namun
hanya untuk operasi penambahan dan pengurangan, sedangkan operasi
yang lain seperti perkalian, pembagian, dan pemangkatan jarang
dilakukan, karena kurang berguna untuk variabel pointer ini.
Penambahan dan pengurangan yang dapat dilakukan untuk variabel
pointer ini hanya dengan suatu nilai integer saja, sedangkan nilai
yang lain tidak dapat dilakukan.
13. Program berikut ini akan menampilkan 10 buah data yang
masing-masing mempunyai alamat yang berbeda-beda.
14. /*
-------------------------------------------------------------------------
Nama Program: ADP_Pointer_5_Operasi_Aritmatika.cpp Operasi
Aritmatika Pointer
--------------------------------------------------------------------------
*/ #include #include main() { int I[10], *I_pointer; double F[10],
*F_pointer; int x; printf("Contoh Program Operasi Aritmatika
Pointern"); printf("________________________________________n");
printf("n"); I_pointer = I; F_pointer = F; for(x=0;x