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

النماذج الأولية للدوال

جزء من قسم Fundamentals في رحلة C على Coddy — الدرس 51 من 63.

في لغة C، يمكننا التصريح عن دالة قبل استخدامها. يخبر نموذج الدالة (function prototype) المترجم (compiler) عن اسم الدالة، ومعاملاتها، ونوع الإرجاع الخاص بها قبل تعريف الدالة الفعلي.

أنشئ نموذجاً أولياً لدالة تقوم بجمع عددين صحيحين:

int add(int a, int b);

ثم قم بتعريف الدالة:

int add(int a, int b) {
    return a + b;
}

عادةً ما يكون النموذج الأولي (prototype) فوق main، بينما تكون الدالة نفسها أسفل main، لكي يبدو الكود أكثر تنظيماً.


الآن يمكنك استخدام هذه الدالة في main:

int main() {
    int result = add(5, 3);
    printf("%d", result);
    return 0;
}

بدون النموذج الأولي (prototype)، إذا قمت باستدعاء الدالة قبل تعريفها، فستحصل على خطأ في المترجم (compiler error).

challenge icon

التحدي

سهل

أنشئ برنامجاً يقوم بما يلي:

  1. يعلن عن نموذج أولي لدالة باسم calculateArea تأخذ عددين صحيحين (length و width) وتعيد عدداً صحيحاً.
  2. ينفذ الدالة لحساب وإرجاع المساحة (length × width).
  3. في الدالة main، يحصل على عددين صحيحين من المستخدم، ويستدعي calculateArea، ويطبع النتيجة.

ورقة مرجعية

يعلن النموذج الأولي للدالة (function prototype) عن الدالة قبل تعريفها، حيث يخبر المترجم باسم الدالة، ومعاملاتها، ونوع القيمة المرجعة:

int add(int a, int b);

ثم قم بتعريف الدالة:

int add(int a, int b) {
    return a + b;
}

عادةً ما يتم وضع النموذج الأولي فوق الدالة main، بينما يوضع تعريف الدالة أسفل main:

int add(int a, int b);  // النموذج الأولي

int main() {
    int result = add(5, 3);
    printf("%d", result);
    return 0;
}

int add(int a, int b) {  // التعريف
    return a + b;
}

بدون النموذج الأولي، سيؤدي استدعاء الدالة قبل تعريفها إلى حدوث خطأ في المترجم (compiler error).

جرّب بنفسك

#include <stdio.h>

// اكتب النموذج الأولي للدالة هنا

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

// قم بتنفيذ الدالة الخاصة بك هنا
quiz iconاختبر نفسك

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

جميع دروس Fundamentals