Lompat ke konten Lompat ke sidebar Lompat ke footer

Donasi untuk blog ini

Traktir blog ini, Klik di sini .Terima kasih.

Pointer pada Pemrograman C++ | Belajar C++ 27

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

Kita juga dapat mengubah nilai dari pointer. Tapi hal tersebut juga akan mengubah nilai asli dari variabel:

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";

    *ptr = "Cilok";

    cout << *ptr << "\n";

    cout << makanan << "\n";
    return 0;
}

Hasil program :

Penjelasan program :

string makanan = "Martabak"; disini, kita membuat variabel dengan tipe data 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.

Sekian untuk postingan kali ini, terima kasih.

Posting Komentar untuk "Pointer pada Pemrograman C++ | Belajar C++ 27"