C++ Memory Address

🔹 تعریف

  • آدرس حافظه مکانی است که یک متغیر در حافظه RAM ذخیره شده است.

  • با استفاده از عملگر & می‌توان آدرس یک متغیر را به دست آورد.

🔹 نحوه استفاده

&variable
  • & قبل از نام متغیر → آدرس حافظه آن متغیر را برمی‌گرداند.

1️⃣ مثال ساده

#include <iostream> using namespace std; int main() { int x = 10; cout << "Value of x: " << x << endl; cout << "Memory address of x: " << &x << endl; }

🔹 خروجی نمونه:

Value of x: 10 Memory address of x: 0x7ffee4c1aabc

آدرس واقعی در هر اجرا متفاوت است.

🔹 استفاده در pointer

  • پویاترین کاربرد آدرس حافظه در pointer است.

#include <iostream> using namespace std; int main() { int x = 25; int *ptr = &x; // ptr آدرس x را نگه می‌دارد cout << "Value of x: " << x << endl; cout << "Address of x: " << &x << endl; cout << "Value of ptr: " << ptr << endl; cout << "Value pointed by ptr: " << *ptr << endl; }

🔹 خروجی نمونه:

Value of x: 25 Address of x: 0x7ffee4c1aabc Value of ptr: 0x7ffee4c1aabc Value pointed by ptr: 25

🔹 نکات مهم

  1. هر متغیر یک آدرس منحصربه‌فرد در حافظه دارد.

  2. Pointer برای ذخیره آدرس متغیرها استفاده می‌شود.

  3. می‌توان با استفاده از آدرس، مقدار متغیر را مستقیم تغییر داد:

*ptr = 50; // مقدار x به 50 تغییر می‌کند

  1. Reference و Pointer نیز با آدرس حافظه در ارتباط هستند.