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>
   152   153   154   155   156   157   158   159   160   161   162