Sekarang kita masuk ke pointer ,apakah itu pointer?
Pointer adalah variable yang berisi alamat memory sebagai nilainya dan berbeda dengan variable biasa yang berisi nilai tertentu. Dengan kata lain, pointer berisi alamat dari variable yang mempunyai nilai tertentu.
maksutnya?
Pointer adalah variable yang bernilai alamat berbeda dengan variable biasa yang hanya sebagai penampung
Macam-Macam pointer
The address-of operator (&)atau reference adalah operator yang didalam pendeklarasikan variabel nya harus pada lokasi yang pasti.pada dasarnya sistem operasi tidak tau pengelamatan dan akan melakukan alamat acak oleh karena itu operator ini sangat beguna untuk mengalamatkan ke memori
contoh
#include <iostream>
using namespace std;
int main()
{
int umur =20 ;
cout <<umur<< '\n'; // print at menampilak nilai dari variable umur
cout <<&umur << '\n'; // lokasi dari alamat memori umur
return 0;
}
jika program di atas di jalankan maka akan tampil
20
0x7ffe239af4ec
'Untuk 20 adalah nilai variable
sedankan untuk 0x7ffe239af4ec itu adalah alamat dari pointer umur kita yang di letakan di procesor nah alamat akan berubah seiring perbedaan os dan procesor.
selanjutnya
Operator Dereference( * )
Dengan mengunakan dereference kalian dapat langsung mengakses nilai yang di dalam variable,hal ini dapat dilakukan dengan menambahkan (*),
#include <iostream>
using namespace std;
int main()
{
int umur = 20;
cout << umur << '\n'; //print at menampilak nilai dari variable umur
cout << &umur << '\n'; // lokasi dari alamat memori umur
cout << *&umur << '\n'; //print isi dari alamat variable umur
return 0;
}
Dari scrip di atas akan tampil
20
0x7ffe239af4ec
20
Nah kenapa 20 ada dua? anga 20 yg terakhir merupakan hasil dari eksekusi alamat variable menjadi nilainya lihat script baris terakhir
Pointer
Pointer biasanya dilihat sebagai salah satu bagian yang paling membingungkan dari bahasa C ++, namun bisa sangat mudah jika dijelaskan dan dipelajari dengan benar.
Deklaasi pointer
int *iPoin; // pointer dengan type data integer ,penulisan benar
double *dPoin; // pointer dengan type data double,penulisanya benar
int *iPoin3, *iPoin4; // deklarasi dua pointer dengan type data integer
int* iPoin5; //penulisan pointer bisa sperti ini tapi sangat dilarang anda gunakan jika
//untuk aplikasi karena bisa terjadi bug,penulisannya salah
Karena pointer hanya menyimpan alamat, ketika kita memberikan nilai ke pointer, itu harus berupa alamat. Salah satu hal yang paling umum dilakukan adalah dengan alamat variabel yang berbeda.
Untuk mendapatkan alamat sebuah variabel, kita menggunakan address-operator (*):
int umur = 20;
int *poin = &umur; // mengisikan variable dengan alamat dari umur
Deklarasi Pointer pada variable
pada pengunaan deference(&)
#include<iostream.h>
using namespace std;
int main()
{
int berat, *tinggi, umur;
berat = 40;
tinggi = berat;
umur = &tinggi;
cout<<"Value berat = "<<berat<<endl;
cout<<"Value umur = "<<umur<<endl;
cout<<"Value tinggi = "<<tinggi<<endl;
return 0;
}
Null pointer
Seperti variable biasa,pointer tidak diinisialisasi pada saat itu. Jika nilai tidak diberikan, pointer akan menunjuk ke beberapa alamat secara default/acak.
Selain alamat memori, ada satu nilai tambahan yang dapat dirujuk ke pointer: nilai null. Nilai null adalah nilai khusus yang berarti pointer tidak menunjuk pada apapun atau pointer dalam keadaan netral.
int *pointer(0); // pointer sekarang null
int *pointer; // pointer di deklarasikan
pointer = 0; // pointer sekarang menjadi null kembali
Contoh script
#include <iostream>
using namespace std;
void nullPointer(int *ptr)
{
if (ptr)
cout << "Pointernya berisi " << ptr << '\n';
else
cout << "Pointernya Null "<<endl";
}
int main()
{
nullPointer(nullptr);
return 0;
}
Pointer Pada array
Pointer pada array cukup sederhana
#include <iostream>
using namespace std;
int main()
{
int array[5] = { 9, 7, 5, 3, 1 };
// print value array
cout << "Array adalah : " << array << '\n';
//print array ke 3
cout << "Isi array adalah [2]: " << array[2] << '\n';
// print alamat dari element array pada angka '5' di array
cout << "ALamat pointer adalah [2]: " << &array[2] << '\n';
return 0;
}
Pointer Arimatika
Nah ini ternyata pointer bisa menjadi arimatika
berikut scriptnya
#include <iostream>
int main()
{
short isi = 7;
short *ptr = &isi;
cout << ptr <<endl;
cout << ptr+1 <<endl;
cout << ptr+2 <<endl;
cout << ptr+3 <<endl;
return 0;
}
Sekian tutorial pointer berikut semoga mudah di pahamiSEkian dan bertemu lagi bersama saya di [] ex code / syntax spot
Bagikan
Pointer C++
4/
5
Oleh
Unknown