Upload
budi-yono
View
45
Download
0
Embed Size (px)
Citation preview
I Gusti Agung Made Wirautama, S.Kom
Pointer dan Array Pointer dan array memiliki hubungan yang dekat. Secara internal array
juga menyatakan alamat. Misalnya, didefinisikan :
Agar ptgl menunjuk ke array, diperlukan pernyataan berupa :
Perhatikan tidak ada tanda & di depan tgl_lahir. Ini disebabkan nama array sebenarnya sudah menyatakan alamat. Oleh karena itu tanda & tidak diperlukan.
int tgl_lahir[] = {24, 6, 1965};
int *ptgl;
ptgl = tgl_lahir;
Pointer dan Array Pernyataan seperti :
Dimana ptgl adalah pointer dan tgl_lahir adalah array, identik dengan :
ptgl = tgl_lahir;
ptgl = &tgl_lahir[0];
#include <iostream.h>
#include <conio.h>
void main()
{
int tgl_lahir[] = {24, 6, 1965};
int *ptgl;
ptgl = tgl_lahir; //ptgl menunjuk ke array
cout<<"Nilai yang ditunjuk oleh ptgl : ";
cout<<*ptgl<<endl;
cout<<"Nilai dari tgl_lahir[0] : ";
cout<<tgl_lahir[0]<<endl;
getch();
}
Pointer dan Array Seluruh elemen array dapat ditampilkan dengan
pernyataan :
Bentuk tgl_lahir[i] dapat diubah menjadi notasi pointer seperti berikut :
Contoh program :
for(int i=0; i<3; i++)
cout<<tgl_lahir[i]<<endl;
for(int i=0; i<3; i++)
cout<<*(ptgl + i)<<endl;
#include <iostream.h>
#include <conio.h>
void main()
{
int tgl_lahir[] = {24, 6, 1965};
int *ptgl;
ptgl = tgl_lahir; //ptgl menunjuk ke array
for(int i=0; i<3; i++)
cout<<*(ptgl + i)<<endl;
getch();
}
Pointer dan Array Perlu diketahui, pada notasi seperti :
tgl_lahir + i tidak berarti :
Tetapi dengan bijaksana dapat mengetahui bahwa tgl_lahir + i berarti :
*(ptgl + i)
ptgl + (i byte)
ptgl + (ukuran tipe elemen ptgl)*i
Pengaksesan Array Melalui Pointer
24
6
1965
ptgl + 0
ptgl + 1
ptgl + 2
}
}
}
tgl_lahir[1]
tgl_lahir[0]
tgl_lahir[2]
Pointer dan Array Seluruh elemen array juga dapat diakses melalui
variabel pointer.
Salah satu caranya yaitu dengan mengubah isi variabel pointer sesuai dengan alamat masing-masing elemen array.
#include <iostream.h>
#include <conio.h>
void main()
{
int tgl_lahir[] = {24, 6, 1965};
int *ptgl;
ptgl = tgl_lahir;
for(int i=0; i<3; i++)
{
cout<<"ptgl = "<<ptgl<<endl;
cout<<"*ptgl = "<<*ptgl<<endl;
ptgl++;
}
getch();
}