C ++ operator pointer (& dan *)
C ++ menyediakan dua operator pointer, satu adalah operator alamat & A adalah operator tipuan *.
Sebuah pointer adalah variabel yang berisi alamat dari variabel lain, Anda dapat menempatkan sebuah variabel yang berisi alamat dari variabel lain dikatakan "titik" ke variabel lain. Variabel dapat menjadi semua jenis data, termasuk objek, atau pointer ke struktur.
Operator alamat &
& Apakah operator unary mengembalikan alamat memori dari operand. Misalnya, jika var adalah variabel integer, maka & var adalah alamatnya. Operator dengan operator unary lainnya memiliki prioritas yang sama, itu adalah pada saat pengoperasian urutan dari kanan ke kiri.
Anda dapat membaca & operator sebagai"operator alamat," yang berarti,& var dibaca sebagai "alamat var."
Operator tipuan *
Operator kedua adalah tipuan Operator *, yang melengkapi & operator. * Apakah operator unary, nilai kembali dari alamat operand variabel yang ditentukan.
Perhatikan contoh berikut untuk memahami penggunaan dua operator tersebut.
#include <iostream> using namespace std; int main () { int var; int *ptr; int val; var = 3000; // 获取 var 的地址 ptr = &var; // 获取 ptr 的值 val = *ptr; cout << "Value of var :" << var << endl; cout << "Value of ptr :" << ptr << endl; cout << "Value of val :" << val << endl; return 0; }
Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:
Value of var :3000 Value of ptr :0xbff64494 Value of val :3000