Assalamualaikum sobat pada artikel kali ini kita akan belajar tentang pointer
pada pemrograman C++, check this out…
Membuat Pointer
Pointer adalah sebuah variabel yang menyimpan alamat memori sebagai
nilainya.
deklarasi pada pointer mirip dengan deklarasi pada variabel, yang
membedakannya adalah terdapat tanda asterisk (*) setelah tipe datanya.
Pointer digunakan untuk menyimpan alamat memori yang diwakili variabel lain
atau berupa alamat memori secara langsung, Tipe data pointer yang kita buat
harus sama dengan tipe data variabel yang akan kita simpan alamat memorinya.
Contoh Program :
#include <iostream>
#include <string>
using namespace std;
int main(){
string makanan = “Martabak”;
string* ptr = &makanan;
cout << makanan << “n”;
cout << &makanan << “n”;
cout << ptr << “n”;
return 0;
}
Hasil program :
Penjelasan program :
Pada contoh program diatas kita membuat sebuah pointer dengan nama ptr, yang
menunjuk sebuah variabel bertipe string (string* ptr). Tipe data pointer yang
kita buat harus sama dengan tipe data dari variabel yang akan kita simpan
alamat memorinya.
Gunakan operator & untuk menyimpan alamat memori dari variabel makanan,
dan menetapkannya ke pointer.
Maka sekarang ptr memiliki nilai alamat memori dari variabel makanan.
Tips : ada 3 cara untuk mendeklarasikan pointer, baris kode pertama adalah
yang paling umum digunakan.
string* mystring;
string *mystring;
string * mystring;
Baca juga : Variabel Referensi dan Alamat Memori pada C++ | Belajar C++ 26
C++ Dereference
Cara Memperoleh Alamat Memori dan Nilai
Dalam contoh program sebelumnya, kita menggunakan variabel pointer untuk
memperoleh alamat memori dari sebuah variabel (digunakan bersama &
reference operator). Namun, kita juga dapat menggunakan pointer untuk
mendapatkan nilai dari variabel, dengan menggunakan operator * (dereference
operator) :
Contoh program :
#include <iostream>
#include <string>
using namespace std;
int main(){
string makanan = “Martabak”;
string* ptr = &makanan;
cout << ptr << “n”;
cout << *ptr << “n”;
return 0;
}
Hasil program :
Penjelasan program :
string makanan = “Martabak”; disini kita membuat variabel bernama makanan
dengan tipe data string dengan nilai Martabak.
string* ptr = &makanan; disini kita membuat pointer bernama ptr dengan
tipe data string dengan nilai alamat memori dari variabel makanan.
cout << ptr << “n”; disini kita mencetak nilai dari pointer ptr
berupa alamat memori.
cout << *ptr << “n”; disini kita mencetak nilai dari pointer ptr.
Catatan : dalam menggunakan operator * bisa sangat membingungkan dalam
program, karena dapat memiliki dua arti yang berbeda pada program kita:
-
Ketika menggunakan dalam deklarasi (string* ptr), itu artinya kita membuat
variabel pointer. -
Ketika tidak digunakan dalam deklarasi, itu artinya adalah sebuah operator
dereference.
Mengubah Nilai dari Pointer
mengubah nilai asli dari variabel:
Contoh Program :
Hasil program :
Penjelasan program :
string dengan nama makanan dengan nilai Martabak.
string* ptr = &makanan; disini, kita membuat pointer dengan tipe data
string bernama ptr dan nilainya adalah alamat dari variabel makanan.
cout << makanan << “n”; disini, kita mencetak nilai dari makanan
yaitu Martabak.
cout << &makanan << “n”; disini, kita mencetak alamat memori
dari variabel makanan.
cout << *ptr << “n”; disini kita mencetak nilai dari pointer ptr
yaitu Martabak.
*ptr = “Cilok”; disini kita mengubah nilai dari pointer ptr menjadi Cilok.
cout << *ptr << “n”; disini kita mencetak di console nilai dari
pointer ptr yang telah diubah yaitu Martabak.
cout << makanan << “n”; disini kita mencetak di console nilai
dari makanan yang telah diubah yaitu Martabak.
Komentar