Page 170 - Project Akhir Media Pendidikan
P. 170

int x, y;

                         x = 10;
                         y = 12;

                         P = &x;

                         *P = 5; /* SALAH, karena nilai dari alamat yang ditunjuk
                                        bersifat konstan */
                         x = 30;  /* SALAH, karena nilai x besifat konstan */

                         P = &y; /* BENAR, hal ini diizinkan karena pointer P tidak
                                        bersifat konstan */

                         return 0;
                      }

                      Pada program di atas tampak statemen  const  int  *P  yang menyatakan bahwa kita
                      melakukan deklarasi konstanta terhadap nilai yang alamatnya akan ditunjuk oleh pointer
                      P. Dengan demikian, apabila pointer P menunjuk ke alamat dari variabel x, maka nilai x
                      ataupun *P tidak dapat diubah. Sedangkan pointer P di atas tidak bersifat konstan sehingga
                      kita masih dapat memerintahkan pointer tersebut untuk menunjuk ke alamat dari variabel
                      lain (dalam hal ini y).

                      7.9.2.  Kata Kunci const Setelah Tipe Data

                      Bentuk  umum  dari  penempatan  kata  kunci  const  setelah tipe  data  adalah  sebagai
                      berikut.

                        tipe_data * const nama_pointer;


                      Berbeda dengan sebelumnya, di sini kita mendeklarasikan pointer yang bersita konstan.
                      Artinya  pointer  tersebut  hanya  dapat  menunjuk  ke  satu  buah  alamat  tertentu  saja.
                      Berikut ini contoh program yang akan menunjukkan hal tersebut.


                      #include <stdio.h>















                                                          166
   165   166   167   168   169   170   171   172   173   174   175