Page 159 - Project Akhir Media Pendidikan
P. 159

printf(“*P1 = %d \tP1 = %p\n”, *P1, P1);
                         printf(“*P2 = %d \tP2 = %p\n”, *P2, P2);

                         return 0;
                      }

                      Apabila dijalankan, program di atas akan memberikan hasil seperti di bawah ini.


                      A[0] = 10
                      A[1] = 20
                      A[2] = 30
                      A[3] = 40
                      A[4] = 50
                      A[5] = 60
                      A[6] = 70
                      A[7] = 80
                      A[8] = 90
                      A[9] = 100

                      *P1 = 10      P1 = 0073FDB0
                      *P2 = 40      P2 = 0073FDBC

                      P2 - P1 = 3

                      Setelah operasi penjumlahan:
                      *P1 = 20      P1 = 0073FDB4
                      *P2 = 60      P2 = 0073FDC4



                      7.6.  Pointer dan Fungsi


                      Pada bagian ini kita akan membahas bagaimana hubungan yang terdapat antara fungsi
                      dan pointer. Dalam bahasa C, pointer dapat digunakan sebagai argumen atau parameter
                      dari  suatu  fungsi.  Selain  itu,  bahasa  C  juga  mengizinkan  kita  untuk  dapat
                      mendeklarasikan pointer yang akan menunjuk ke sebuah fungsi. Berikut ini penjelasan
                      lebih detil mengenai kedua materi tersebut.

                      7.6.1.  Pointer sebagai Parameter Fungsi

                      Pada  bab  sebelumnya  kita  telah  membahas  bahwa  terdapat  dua  buah  cara  untuk
                      melewatkan parameter ke dalam suatu fungsi, yaitu dengan menggunakan pass by value
                      (melewatkan  berdasarkan  nilai)  dan  pass  by  reference  (melewatkan  berdasarkan
                      alamat). Alamat yang dimaksud di sini tidak lain adalah pointer. Dalam bab ini kita
                      akan  menengok  kembali  apa  sebenarnya  yang  terjadi  pada  saat  proses  pelewatan
                      parameter yang bertipe pointer.

                      Sebagai contoh untuk menerangkan materi ini, kita akan membuat fungsi yang berguna
                      untuk menukarkan dua buah bilangan (proses swapping). Di sini kita akan melewatkan

                                                          155
   154   155   156   157   158   159   160   161   162   163   164