Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

معامل العنوان (Address-Of)

جزء من قسم Logic & Flow في رحلة C++ على Coddy — الدرس 2 من 56.

الآن بعد أن فهمت ما هو المؤشر (pointer)، عليك أن تتعلم كيفية الحصول فعلياً على عنوان الذاكرة لمتغير ما. وهنا يأتي دور عامل "العنوان لـ" (address-of operator) (&).

يُوضع عامل استخراج العنوان & قبل اسم المتغير لاسترداد عنوانه في الذاكرة. عندما تستخدم &variable_name، فإنه يعيد الموقع في الذاكرة حيث يتم تخزين ذلك المتغير.

int number = 42;
int* ptr = &number;  // ptr يخزن الآن عنوان number

في هذا المثال، &number يحصل على عنوان الذاكرة للمتغير number، ونقوم بتعيين هذا العنوان لمؤشرنا ptr. المؤشر لا يحتوي على القيمة 42 - بل يحتوي على العنوان الذي تم تخزين القيمة 42 فيه.

هذا الارتباط بين المتغير والمؤشر الخاص به ضروري للتعامل مع الذاكرة بشكل مباشر. بمجرد حصولك على مؤشر يخزن عنواناً، يمكنك استخدامه للوصول إلى المتغير الأصلي أو تعديله بشكل غير مباشر.

challenge icon

التحدي

سهل

قم بإنشاء برنامج يوضح عامل العنوان (address-of operator) من خلال العمل مع متغير صحيح ومؤشر.

قم بالتصريح عن متغير صحيح باسم score وقم بتهيئته بالقيمة 85.

قم بإنشاء مؤشر باسم scorePtr يخزن عنوان الذاكرة للمتغير score باستخدام عامل العنوان.

اطبع عنوان الذاكرة المخزن في المؤشر باستخدام التنسيق التالي:

Address: [memory address]

سيتم عرض عنوان الذاكرة بتنسيق سداسي عشري (مثل 0x7fff5fbff6ac)، وهي الطريقة التي تعرض بها لغة C++ عناوين الذاكرة عادةً.

ورقة مرجعية

يُستخدم عامل استخراج العنوان & للحصول على عنوان الذاكرة لمتغير ما:

int number = 42;
int* ptr = &number;  // ptr يخزن عنوان number

عندما تستخدم &variable_name، فإنه يعيد الموقع في الذاكرة حيث يتم تخزين ذلك المتغير. يحتوي المؤشر على العنوان، وليس القيمة الفعلية للمتغير.

جرّب بنفسك

#include <iostream>
using namespace std;

int main() {
    // TODO: اكتب كودك أدناه
    
    return 0;
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow