Page 163 - Project Akhir Media Pendidikan
P. 163
/* Mendeklarasikan pointer pT untuk menunjuk alamat dari fungsi
yang memiliki dua buah parameter bertipe pointer ke tipe int */
void (*pT) (int*, int*);
/* Mendefinisikan fungsi untuk menukarkan dua buah bilangan */
void Tukar(int *px, int *py) {
int temp = *px;
*px = *py;
*py = temp;
}
int main(void) {
/* Mendeklarasikan dua buah variabel yang nilainya akan
ditukar */
int a=10, b=50;
pT = Tukar;
/* Menampilkan nilai a dan b sebelum ditukar */
printf(“Sebelum pertukaran nilai:\n”);
printf(“Nilai a : %d\n”, a);
printf(“Nilai b : %d\n”, b);
/* Menukarkan nilai a dan b dengan cara menggunakan
pointer pT */
pT(&a, &b);
/* Menampilkan nilai a dan b setelah ditukar */
printf(“\nSetelah pertukaran nilai:\n”);
printf(“Nilai a : %d\n”, a);
printf(“Nilai b : %d\n”, b);
return 0;
}
Hasil yang akan diberikan dari program tersebut adalah sebagai berikut.
Sebelum pertukaran nilai:
Nilai a : 10
Nilai b : 50
Setelah pertukaran nilai:
Nilai a : 50
Nilai b : 10
7.7. Pointer NULL
Dalam mendeklarasikan pointer, sebaiknya kita mengeset pointer tersebut untuk tidak
menunjuk ke lokasi acak di memori. Untuk melakukan hal ini, bahasa C telah
menyediakan pointer NULL, yaitu pointer khusus yang tidak menunjuk ke alamat
159