ملاحظات :
1- مثل المتغير يجب إعلان الدالة .
2- يسمى إعلان الدالة "نموذج الدالة " Function Prototype .
3- كما أن المتغيرات يتم إعلانها قبل استخدامها أيضا يتم إعلان "نموذج الدالة " قبل استخدامها .
4- إعلان الدالة يوفر للمترجم التالى :- اسم الدالة .
- نوع عودتها Return (اختيارى / والافتراضى كعدد صحيح integer ) .
- قائمة الوسائط Argument list وقائمة البارامترات (المعلمات) Parameter list .
5- نموذج الدالة ينتهى دائما بالفاصلة المنقوطة .
6- قائمة البارامترات اختيارية .
7- نوع العودة الافتراضى هو العدد الصحيح integer .
ملحوظة :
إذا تم كتابة تعريف الدالة بعد وظيفة main عندئذ وعندئذ فقط نكتب إعلان نموذج الدالة فى قسم الإعلانات العامة global .
وإذا تم كتابة تعريف الدالة فوق وظيفة main فلا حاجة لكتابة إعلان نموذج الدالة
يمكن تعيين أى اسم للدالة .
والاستثناء الوحيد هو الاسم mainالذي له غرض خاص , وهو أن البرنامج دائما يبدأ التنفيذ بهذه الدالة . وهو ما يعني أن كل برنامج مكتوب بلغة السي يجب أن يحتوي على وظيفة واحدة اسمها main وليست مضطرا ان تضعها فى بداية البرنامج .
إذا كان من الضروري بعد تنفيذ الدالة أن تعود بنتائج عندئذ يستخدم أمر العودة والذى يمكن أن يتبعه أى تعبير:
إذا كانت الدالة التى تحتوى على أمر العودة ولا يتبعها تعبير فان الدالة يتوقف تنفيذها عند الوصول إلى هذا الأمر ويستمر (يتقدم) تنفيذ البرنامج من عند أول أمر يلى القوس المجعد للغلق .
الإعلان عن دالة جديدة :
بصرف النظر عن الدوال التى تتعرف عليها لغة السى تلقائيا , هناك أيضا أمكانية استخدام وظائف جديدة تماما فى البرامج . ينبغى الإعلان عن كل وظيفة غير قياسية عند بداية البرنامج . الإعلان عن الدالة يسمى "نموذج" Prototype ويبدو كما يلى :
نوع الدالة التى لا تعود بقيمة هو void (خالى –شاغر) . إذا لم يكن نوع النتيجة معلن بالتحديد في البرنامج فيعتبر من نوع int .البارامترات المكتوبة فى نموذج الدالة تحدد ما ينبغي القيام به بالبارامترات الحقيقية .تسمى بارامترات النموذج باسم FORMAL PARAMETERS (الأساسية) .
المثال التالي يعلن دالة والتي تحسب حجم الاسطوانة.
إذا احتجنا لإجراء مثل هذه الحسابات فى وقت لاحق فى البرنامج (عمليا ممكن أن تكون حجم تنك أى خزان) فإنه يكفى تعريف البارامترات وتسمى عندئذ REAL PARAMETERS (الحقيقية) واستدعاء الدالة.
أثناء عملية الترجمة يقوم المترجم باستبدال البارامترات الأساسية formal parameters بالبارامترات الحقيقيقة real كما هو مبين أدناه :
مكتبات الدالة FUNCTION LIBRARIES
تخزن جميع أسماء الدوال المستخدمة فى لغة السى فى ملف يسمى "الرأس أو المقدمة" header . هذه الدوال (بناء على الغرض منها) تحفظ فى ملفات أصغر تسمى المكتبات .قبل استخدام أي منها في البرنامج من الضروري تحديد ملف الرأس المناسب باستخدام الأمر الرمز #include في بداية البرنامج. إذا صادف المترجم وظيفة غير معروفة أثناء تنفيذ البرنامج فسوف ينظر أولا عن إعلانها في المكتبات المحددة .
المكتبات القياسية للغة السى :
لم تكن وظائف لغة السى موحدة فى بداية صناعة البرمجيات ويتم تعديلها وفق الحاجة , ولكن سرعان ما اصبحت لفة السى شائعة وكان من الصعب إبقاء كل شيء تحت السيطرة ,وكان من الضروري إدخال نوع من المعايير لوضع الامور بنظام (ترتيب) .أطلق على المعايير التى أنشأت اسم ANSI C وهى تحتوي على 24 مكتبة للظائف .وتقدم هذه المكتبات عادة مع كل مترجم للغة السى حيث يتم تنفيذ معظم العمليات المتكررة باستخدامها.