Pemrograman Terstruktur Pertemuan 11 Pointer
DEFINISI POINTER tipeData *variable Pointer adalah variabel yang berisi alamat memori. Pointer bersifat dinamis, dimana besarnya jumlah data dapat berubah-ubah selama proses berlangsung. tipeData *variable
AKSES POINTER int *p; // line 1 int num; // line 2 Keterangan : Line 1 : merupakan deklarasi variable pointer p bertipe integer. Line 2 : merupakan deklarasi variable num bertipe integer.
AKSES POINTER Diasumsikan bahwa tabel ini merupakan penggambaran dari lokasi memori 1200 untuk p dan 1800 untuk num. num = 78; //line 3 p = # //line 4 *p = 24; //line 5 ... AAA … 1200 1800 p num
AKSES POINTER Line 3 : variable num diisi dengan nilai 78. Line 4 : variable p diisi dengan alamat variable num yaitu 1800. ... AAA … A78A 1200 1800 p num ... 1800 … A78A 1200 p num
AKSES POINTER Line 5 : variable p ... 1800 … A24A 1200 p num
INISIALISASI POINTER Variabel pointer perlu diinisialisasi terlebih dahulu, karena jika tidak diinisialisasi terlebih dahulu, pointer ini akan menujuk secara acak (random). Untuk itu sebuah pointer diisi dengan nilai konstant 0 yang dinamakan NULL pointer. P = NULL; atau P = 0;
ARRAY DAN POINTER Kegunaan pointer untuk array adalah untuk menghilangkan kelemahan dari array yaitu, pengunaan memori yang statis, dalam arti jumlah datanya terbatas.
ARRAY DAN POINTER Berikut ini merupakan contoh penggambaran yang menjelaskan bagaimana memakai pointer untuk array, yaitu : int p*; //line 1 p = new int[2]; //line 2 *p = 25; //line 3 p++; //line 4 *p = 35; //line 5
ARRAY DAN POINTER p 1000 Keterangan : Line 1 : merupakan deklarasi variable pointer p bertipe integer. Line 2 : merupakan pengalokasian variable p pada lokasi memori. p [0] 1000 25 p [1] 1004 35
ARRAY DAN POINTER Line 3 : merupakan pengisian nilai 25 pada alamat memori di index [0]. p 1000 Line 4 : operator increment untuk penambahan index variable p melalui alamat memori. p [0] 1000 25
ARRAY DAN POINTER Line 5 : merupakan pengisian nilai 35 pada alamat memori di index [1]. p [1] 1004 35
SEKIAN