Page 157 - PEMROGRAMAN DASAR MENGGUNAKAN C
P. 157
dua buah pointer sebagai parameternya. Adapun sintak pendefinisannya adalah sebagai
berikut.
void Tukar(int *px, int *py) {
int temp = *px;
*px = *py;
*py = temp;
}
Adapun contoh sintak yang melakukan pemanggilan fungsi tersebut adalah sebagai
berikut.
int a, b; /* variabel untuk menyimpan nilai yang akan
ditukar */
Tukar(&a, &b);
Sintak di atas akan menukarkan nilai yang terdapat di dalam dua buah alamat memori,
yaitu alamat dari variabel a dan variabel b. Di sini pointer px akan menunjuk ke alamat
dari variabel a (&a, sebut saja dengan alamat_A), sedangkan pointer py menunjuk ke
alamat dari variabel b (&b, sebut saja dengan alamat_B). Setelah itu, nilai yang
terdapat pada alamat_A akan ditukarkan dengan nilai yang terdapat pada alamat_B
melalui variabel bantu, yaitu variabel temp. Hal inilah yang menyebabkan setelah
pemanggilan fungsi Tukar(), maka nilai a dan b akan tertukar. Situasi ini dapat kita
representasikan dengan gambar berikut.
Di dalam fungsi Tukar():
px •
py •
Pada saat pemanggilan:
a
b
Gambar 7.5. Menukarkan dua buah nilai dengan menggunakan pointer
Berikut ini contoh program yang akan membuktikan hal di atas. Adapun sintaknya
adalah sebagai berikut.
#include <stdio.h>