C++ Ampersand Vs Asterisk

2 min read Jul 05, 2024
C++ Ampersand Vs Asterisk

C++: Ampersand (&) vs Asterisk (*)

Dalam bahasa pemrograman C++, ampersand (&) dan asterisk (*) memiliki peran penting dalam manipulasi alamat memori dan pointer. Kesalahpahaman antara keduanya sering terjadi, sehingga memahami perbedaannya sangat penting.

Ampersand (&): Operator Address-of

Ampersand (&) dikenal sebagai operator address-of. Fungsinya adalah untuk mengambil alamat memori dari suatu variabel.

Contoh:

int angka = 10;
int *ptr = &angka; // Menyimpan alamat memori dari variabel 'angka' ke dalam pointer 'ptr'

Dalam contoh di atas, &angka mengembalikan alamat memori dari variabel angka. Alamat ini kemudian disimpan dalam pointer ptr.

Asterisk (*): Operator Dereference

Asterisk (*) disebut sebagai operator dereference. Fungsinya adalah untuk mengakses nilai yang disimpan pada alamat memori yang ditunjuk oleh pointer.

Contoh:

int angka = 10;
int *ptr = &angka; 
int nilai = *ptr; // Mengambil nilai dari alamat memori yang ditunjuk oleh 'ptr' dan menyimpannya dalam 'nilai'

Dalam contoh ini, *ptr mengakses nilai yang berada pada alamat memori yang ditunjuk oleh pointer ptr. Nilai tersebut kemudian disimpan dalam variabel nilai.

Perbedaan Utama:

  • Ampersand (&) mengambil alamat memori dari variabel.
  • Asterisk (*) mengakses nilai yang berada pada alamat memori yang ditunjuk oleh pointer.

Penggunaan Umum:

  • Ampersand (&) digunakan saat membuat pointer, untuk menyimpan alamat memori suatu variabel.
  • Asterisk (*) digunakan untuk mengakses nilai dari alamat memori yang ditunjuk oleh pointer.

Kesimpulan:

Ampersand dan asterisk adalah operator yang sangat penting dalam C++. Memahami perbedaannya akan membantu Anda memahami konsep pointer dan manipulasi alamat memori. Ingatlah, ampersand untuk mengambil alamat, dan asterisk untuk mengakses nilai yang berada pada alamat tersebut.

Latest Posts


Featured Posts