Terdapat sebuah array
yang memiliki hanya satu elemen yaitu 5 dan tempatkan pada indeks ke 0 dalam
array, sementara alamat indeks selebihnya bernilai 0, buatlah program yang
dapat mengisi alamat indeks yang lain melalui nilai elemen indeks ke 0
Syntax
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int
x[5],*p, k;
// clrscr();
p=x;
x[0] =
5; // x [0] diisidengan 5 sehingga x[0] = 5
x[1] =
x[0]; // x[1] diisi dengan x[0] sehingga x[1] = 5;
x[2] =
*p + 2; //x[2] diisi dengan x[0] + 2 sehingga x[2] = 7;
x[3] =
*(p+1)-3; // x[3] diisi dengan x[1] - 3 sehingga x[3] = 2;
x[4] =
*(x+2); // x[4] diisi dengan x[2] sehingga x[4] =7;
cout<<"Array
stelah diisi = "<<endl;
cout<<endl;
for(k=0;
k<5; k++) //pemanggilan elemen array yang baru
{
cout<<"x["<<k<<"]
= "<<x[k]<<endl;
}
getch();
return 0;
}
Running
Penjelasan
Dalam kasus ini, kita
hanya memanggil nilai yang terdapat di dalam pointer yang di tunjuk atau
pointer yang sudah ditetapkan (ataupun alamatnya), dimisalkan untuk memunculkan
5 buah indeks kita masukan perulangan FOR(k=0; k<5; k++), didalah for yaitu
K(indeks) akan dimulai dari angka 0, indeks kurang dari 5 dan indeks akan di
ulang setiap 1 kali, setelah itu jika indeks 0 bernilai 5 maka akan di cetak 0,
untuk indeks 1 , indeks 1 = indeks 0 yang berarti nilainya akan sama yaitu 5,
untuk indeks 2, pointer *p merupakan
alamat awal atau indeks 0 sehingga prosesnya akan menjadi indeks 0 + 2 = 7,
untuk indeks 3 yaitu pointer *(p+1) yang artinya indeks 1 karena 0 + 1 menjadi
indeks 1, dan untuk yang selanjutnya juga.

0 komentar:
Posting Komentar