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

عامل العنوان (&)

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

الآن بعد أن أصبح بإمكانك التصريح عن المؤشرات، تحتاج إلى تعلم كيفية تخزين عنوان ذاكرة فيها بالفعل. إنّ عامل العنوان (&) هو المفتاح للحصول على عنوان الذاكرة لأي متغير.

عندما تضع عامل التشغيل & أمام اسم المتغير، فإنه يعيد عنوان الذاكرة حيث يتم تخزين ذلك المتغير. فكر في الأمر كأنك تسأل "أين يعيش هذا المتغير في الذاكرة؟"

int age = 25;
int *ptr;
ptr = &age;    // تخزين عنوان 'age' في 'ptr'

في هذا المثال، يعطينا &age عنوان الذاكرة للمتغير age. ثم نقوم بتعيين هذا العنوان لمؤشرنا ptr. الآن ptr "يشير إلى" المتغير age.

يعد عامل العنوان (address-of operator) ضرورياً لأنه يمثل الجسر بين المتغيرات العادية والمؤشرات. فبدونه، لن تتمكن من إخبار المؤشر بالمتغير الذي يجب أن يشير إليه. تذكر أن أنواع البيانات يجب أن تتطابق - حيث لا يمكنك إلا تعيين عنوان عدد صحيح (integer) لمؤشر تم التصريح عنه للأعداد الصحيحة.

challenge icon

التحدي

سهل

اكتب برنامجاً بلغة C يوضح استخدام عامل "العنوان-من" (address-of operator) لربط المتغيرات بالمؤشرات. يجب أن يقوم برنامجك بما يلي:

  1. الإعلان عن متغير صحيح (integer) باسم number وتهيئته بالقيمة 42
  2. الإعلان عن متغير حرفي (character) باسم letter وتهيئته بالقيمة 'X'
  3. الإعلان عن مؤشر لعدد صحيح باسم num_ptr
  4. الإعلان عن مؤشر لحرف باسم char_ptr
  5. استخدام عامل "العنوان-من" لتعيين عنوان number إلى num_ptr
  6. استخدام عامل "العنوان-من" لتعيين عنوان letter إلى char_ptr
  7. طباعة العناوين المخزنة في كلا المؤشرين باستخدام printf مع محدد التنسيق %p

يجب أن يعرض مخرج البرنامج عناوين المؤشرات بالتنسيق التالي:

Address of number: [address]
Address of letter: [address]

ستختلف عناوين الذاكرة الفعلية بين عمليات تشغيل البرنامج، ولكن يجب أن يتطابق التنسيق والتسميات تماماً كما هو موضح أعلاه.

ورقة مرجعية

يعيد عامل العنوان (&) عنوان الذاكرة لمتغير ما:

int age = 25;
int *ptr;
ptr = &age;    // تخزين عنوان 'age' في 'ptr'

يعد عامل العنوان ضرورياً لربط المتغيرات بالمؤشرات. يجب أن تتطابق أنواع البيانات - يمكنك فقط تعيين عنوان عدد صحيح لمؤشر تم التصريح عنه للأعداد الصحيحة.

استخدم محدد التنسيق %p لطباعة عناوين المؤشرات باستخدام printf.

جرّب بنفسك

#include <stdio.h>

int main() {
    // TODO: اكتب كودك هنا
    // 1. التصريح عن المتغيرات وتهيئتها
    // 2. التصريح عن المؤشرات
    // 3. استخدام عامل العنوان (address-of) لتعيين العناوين
    // 4. طباعة العناوين باستخدام التنسيق الموضح
    
    return 0;
}
quiz iconاختبر نفسك

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

جميع دروس Logic & Flow