Sebelumnya kita telah mempelajari cara mendapatkan alamat memori dari sebuah variabel dengan menggunakan operator &
:
Contoh :
#include <iostream> #include <string> using namespace std; int main() { string food = "Pizza"; // Variabel food dengan tipe string cout << food << "\n"; // Output nilai food (Pizza) cout << &food << "\n"; // Output alamat memori food (0x6dfed4) return 0; }
Namun pointer adalah variabel yang menyimpan alamat memori sebagai nilainya.
Variabel pointer menunjuk ke tipe data (seperti int
atau string
) dari tipe yang sama dan dibuat dengan operator *
. Alamat variabel yang kita kerjakan ditugaskan ke pointer:
Contoh :
#include <iostream> #include <string> using namespace std; int main() { string food = "Pizza"; // variable string string* ptr = &food; // Variabel pointer yang menyimpan alamat food // Output the nilai food cout << food << "\n"; // Output alamat memory food cout << &food << "\n"; // Output alamat memory food dengan pointer cout << ptr << "\n"; return 0; }
Output :
Penjelasan Kode :
Buat variabel pointer dengan nama ptr
, yang mengarah ke variabel string
dengan menggunakan tanda asterisk *(string * ptr)
. Perhatikan bahwa tipe pointer harus cocok dengan tipe variabel yang kita kerjakan.
Gunakan operator &
untuk menyimpan alamat memori dari variabel yang disebut food
dan tetapkan ke pointer.
Sekarang, ptr
menyimpan nilai alamat memori food
.
Tip: Ada tiga cara untuk mendeklarasikan variabel pointer, tetapi cara pertama lebih disukai:
string* mystring; //favorit string *mystring; string * mystring;