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

مراجعة: أساسيات المؤشرات

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

challenge icon

التحدي

سهل

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

  1. التصريح عن متغير صحيح (integer) باسم age وتهيئته بالقيمة 25
  2. التصريح عن متغير حرفي (character) باسم grade وتهيئته بالقيمة 'A'
  3. التصريح عن متغير عشري (float) باسم temperature وتهيئته بالقيمة 98.6
  4. التصريح عن ثلاثة مؤشرات مقابلة:
    • مؤشر إلى عدد صحيح باسم age_ptr
    • مؤشر إلى حرف باسم grade_ptr
    • مؤشر إلى عدد عشري باسم temp_ptr
  5. استخدام عامل العنوان (address-of operator) لتعيين عناوين المتغيرات إلى المؤشرات الخاصة بها
  6. استخدام عامل إلغاء المرجعية (dereference operator) لطباعة القيم الثلاث جميعها من خلال مؤشراتها بالتنسيق التالي:
    • Age: [value]
    • Grade: [value]
    • Temperature: [value] (مع منزلة عشرية واحدة بالضبط)
  7. تعديل المتغيرات الأصلية من خلال مؤشراتها:
    • تغيير age إلى 30 باستخدام age_ptr
    • تغيير grade إلى 'B' باستخدام grade_ptr
    • تغيير temperature إلى 99.5 باستخدام temp_ptr
  8. طباعة القيم المعدلة مباشرة من المتغيرات الأصلية (ليس من خلال المؤشرات) بنفس التنسيق المتبع في الخطوة 6

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

Age: 25
Grade: A
Temperature: 98.6
Age: 30
Grade: B
Temperature: 99.5

يختبر هذا التحدي فهمك للتصريح عن المؤشرات، وتعيين العناوين، وإلغاء المرجعية (dereferencing) لكل من قراءة وكتابة القيم، ويوضح أن المؤشرات توفر وصولاً مباشراً إلى مواقع الذاكرة الخاصة بالمتغيرات الأصلية.

جرّب بنفسك

#include <stdio.h>

int main() {
    // TODO: اكتب كودك هنا
    // التصريح عن المتغيرات والمؤشرات
    // تعيين العناوين للمؤشرات
    // طباعة القيم من خلال المؤشرات
    // تعديل القيم من خلال المؤشرات
    // طباعة القيم المعدلة من المتغيرات الأصلية
    
    return 0;
}

جميع دروس Logic & Flow