وحدات الماكرو والدوال المضمنة
استكشفوا تعريفات وحدات الماكرو ومزاياها مقارنة بالدوال
وحدات الماكرو والدوال المضمنة درس مجاني في C Academy على CoddyKit. هذا هو الدرس 2 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C Academy 3 دروس في المجموع.
مقدمة إلى وحدات الماكرو
وحدات الماكرو والدوال المضمّنة
تساعد وحدات الماكرو والدوال المضمّنة على تحسين الشيفرة من خلال تقليل التكلفة الإضافية لاستدعاء الدوال.
ستتعلّمون في هذا الدرس:
- كيفية تعريف وحدات الماكرو واستخدامها.
- مزايا الدوال المضمّنة مقارنةً بوحدات الماكرو.
- كيفية تحسين وحدات الماكرو والدوال المضمّنة للأداء.

ما وحدة الماكرو؟
ما وحدة الماكرو؟
وحدة الماكرو هي توجيه للمعالج القبلي يستبدل الشيفرة قبل عملية التص compilation.
مثال:
#define SQUARE(x) (x * x)
بعد ذلك، يُستبدل SQUARE(5) بـ (5 * 5) أثناء عملية التص compilation.
مثال: استخدام وحدات الماكرو
مثال: استخدام وحدات الماكرو
يوضّح هذا البرنامج كيفية استخدام وحدة ماكرو لإجراء العمليات الحسابية.
#include <stdio.h>
#define SQUARE(x) (x * x)
int main() {
int num = 4;
printf("Square of %d is %d\n", num, SQUARE(num));
return 0;
}قيود وحدات الماكرو
قيود وحدات الماكرو
لا تُجري وحدات الماكرو فحصًا للأنواع، وقد تؤدي إلى نتائج غير متوقعة.
مثال على مشكلة:
#define MULTIPLY(x, y) x * y
يتم توسيع استدعاء MULTIPLY(2 + 3, 4) إلى 2 + 3 * 4، مما يؤدي إلى نتائج غير صحيحة.
التعريف بالدوال المضمّنة
التعريف بالدوال المضمّنة
توفّر الدوال المضمّنة بديلًا لوحدات الماكرو مع الحفاظ على أمان الأنواع.
الصيغة:
inline int square(int x) { return x * x; }
تقلّل هذه الدوال التكلفة الإضافية لاستدعاء الدالة، مع ضمان فحص الأنواع بصورة صحيحة.
مثال: استخدام الدوال المضمّنة
مثال: استخدام الدوال المضمّنة
يوضّح هذا البرنامج استخدام دالة مضمّنة لتحل محل وحدة ماكرو.
#include <stdio.h>
inline int square(int x) { return x * x; }
int main() {
int num = 4;
printf("Square of %d is %d\n", num, square(num));
return 0;
}مزايا الدوال المضمّنة
مزايا الدوال المضمّنة
توفّر الدوال المضمّنة عدة مزايا مقارنةً بوحدات الماكرو:
- أمان الأنواع.
- تصحيح أخطاء أفضل (إذ تظهر في تتبعات المكدس).
- عدم حدوث أخطاء توسعة غير متوقعة.
متى تُستخدم وحدات الماكرو ومتى تُستخدم الدوال المضمّنة؟
متى تُستخدم وحدات الماكرو ومتى تُستخدم الدوال المضمّنة؟
استخدموا وحدات الماكرو عند:
- تعريف ثوابت بسيطة.
- إجراء استبدالات نصية صغيرة.
استخدموا الدوال المضمّنة عند:
- إجراء عمليات معقدة.
- ضمان أمان الأنواع.
الملخص
الملخص
تعلّمتم في هذا الدرس:
- كيفية تعريف وحدات الماكرو واستخدامها.
- قيود وحدات الماكرو.
- كيفية توفير الدوال المضمّنة بديلًا أكثر أمانًا.
سنستكشف بعد ذلك التص compilation الشرطي!

الأسئلة الشائعة
هل درس «وحدات الماكرو والدوال المضمنة» مجاني؟
نعم — نص درس «وحدات الماكرو والدوال المضمنة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C Academy 3 دروس في المجموع.
ماذا ستتعلم في «وحدات الماكرو والدوال المضمنة»؟
استكشفوا تعريفات وحدات الماكرو ومزاياها مقارنة بالدوال تتمرن على C Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C Academy؟
لا تُشترط خبرة سابقة. C Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.
كم من الوقت يستغرق درس «وحدات الماكرو والدوال المضمنة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C Academy هذا؟
نعم. كل درس في C Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- فهم المعالج التمهيدي للغة C
- وحدات الماكرو والدوال المضمنة
- الترجمة الشرطية