(contoh penyelesaian kasus di atas pada program dibawah ini bersifat statis)
#include
#include
using namespace std;
int main()
{
int x[5], *p, k;
p = x;
x [0] = 5; //
x [1] = x[0]; // x[1] di isi dengan x[0] sehingga x[1] = 5
x[2] = *p + 2; // x[2] di isi dengan x[0] + 2 sehingga x[2] = 7
x[3] = *(p+1)-3; // x[3] di isi dengan x[1] - 3 sehingga x[3] = 2
x[4] = *(x+2); // x[4] di isi dengan x[2] sehingga x[4] = 7
cout<<"Aray setelah diisi = "<
cout<
for(k=0; k<5 k="" span=""> // pemanggilan elemen aray yang baru
{
cout<<"x["<
}
getch ();
return 0;
}
Hasil Running :
Kerangan :
Pada program diatas menggunakan pointer array bersipat statis. Pendeklarasian menggunakan tipe data integer dengan variabel x array berindeks 5 sebagai looping program menggunakanan statmen for, *p (reference pointer) sebagai penunjuk atau penyimpanan alamat memory dan variabel k yang digunakan nanti untuk perulangan for.
Pada hasil runing tidak ada inputan data hal ini dikarenakan ada sebuah penetapan nilai variabel awal pada x[0] = 5.
untuk x[1] =x[0] yang artinya x[1] bernilai variabel 5, karena penetapan awalnya adalah 5.
x[2]=*p + 2 bernilai sama dengan 7 kenapa ? karena ada sebuah pointer *p yang menunjukan nilai ini berupa data x[0] + 2
x[3]= *(p+1) – 3 sama dengan 2, masih bingung? Pada *(p+1) bisa dikatakan x[1] hal ini dikarenakan ada sebuah penunjukan data ( reference) pada pendeklarasian awal p=x atau p adalah x
x[4] = *(x +2) bisa dikatakan nilai variabel ini sama dengan nilai variabel x[2].

0 comments:
Post a Comment