Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

Pointer Operator * (Indirection) ใน C++


Pointer Operators ใน C++

C++ มี pointer operators 2 ตัว:

  • Address-of Operator (&)
  • Indirection Operator (*)

Pointer คือตัวแปรที่เก็บ address ของตัวแปรอีกตัว "point to" ตัวแปรนั้น ชนิดข้อมูลอะไรก็ได้ (object, struct, pointer อีกตัว)

Indirection Operator (*)

Complement ของ & เป็น unary operator คืนค่าของตัวแปรที่อยู่ที่ address ใน operand

ตัวอย่าง

#include <iostream>
using namespace std;

int main() {
    int var = 3000;
    int *ptr;
    int val;

    ptr = &var;      // address of var
    val = *ptr;      // value at ptr (dereference)

    cout << "Value of var: " << var << endl;
    cout << "Value of ptr: " << ptr << endl;
    cout << "Value of val: " << val << endl;
    return 0;
}

ผลลัพธ์

Value of var: 3000
Value of ptr: 0x7ffc... (address)
Value of val: 3000