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
   158   159   160   161   162   163   164   165   166   167   168