English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دروس أساسية بلغة C

تحكم في عملية لغة C

الوظائف في لغة C

المجموعات في لغة C

المراجع في لغة C

السلاسل في لغة C

مباني لغة C

ملفات لغة C

C أخرى

دليل مرجعي لغة C

الوظائف المخصصة في C

في هذا الدرس، ستتعلم كيفية إنشاء الدوال المستخدمة في برمجة لغة C باستخدام الأمثلة.

الدالة هي مكتبة من الأوامر تُستخدم لتنفيذ مهمة معينة.

يسمح لك C بتعريف الدوال حسب الحاجة. هذه الدوال تُدعى الدوال المستخدمة. على سبيل المثال:

افترض أنك بحاجة إلى إنشاء دائرة وتلوينها بناءً على القطر واللون. يمكنك إنشاء دالتين لحل هذه المشكلة:

  • دالة createCircle()

  • دالة color()

مثال: دالة مستخدمة

هذا مثال على إضافة إثنين من الأعداد الصحيحة. من أجل تنفيذ هذه المهمة، قمنا بإنشاء دالة مستخدمة addNumbers().

#include <stdio.h>
int addNumbers(int a, int b); // 函数原型
int main()
{
    int n1,n2,sum;
    printf("输入两个数字: ");
    scanf("%d %d",&n1,&n2);
    sum = addNumbers(n1, n2); // 函数调用
    printf("sum = %d",sum);
    return 0;
}
int addNumbers(int a, int b) // 函数定义
{
    int result;
    result = a+b;
    return result;                  // 返回语句
}

函数原型

函数原型只是函数的声明,用于指定函数的名称,参数和返回类型。它不包含函数体。

函数原型向编译器提供信息,该函数以后可以在程序中使用。

函数原型的语法

returnType functionName(type1 argument1, type2 argument2, ...);

在上面的示例中,函数原型 int addNumbers(int a, int b); 为编译器提供了以下信息:

  1. 函数的名称是 addNumbers()

  2. 函数的返回类型是 int

  3. 类型的两个参数 int 传递给函数

如果在 main() 函数之前定义了用户定义的函数,则不需要函数原型。

调用函数

程序的控制权通过调用转移到用户定义的函数。

函数调用的语法

functionName(argument1, argument2, ...);

在上面的示例中,使用 main() 函数内部的语句进行函数 addNumbers(n1, n2); 调用。

函数定义

函数定义包含执行特定任务的代码块。在我们的示例中,将两个数字相加并返回。

函数定义的语法

returnType functionName(type1 argument1, type2 argument2, ...)
{
    // 函数体
}

调用函数时,程序的控制权将转移到函数定义中。并且,编译器开始在函数体内执行代码。

将参数传递给函数

在编程中,参数是指传递给函数的变量。在上面的示例中,在函数调用期间传递了两个变量 n1 和 n2。

参数 a 和 b 接受函数定义中传递的参数。这些参数称为函数的形式参数。

传递给函数的参数类型和形式参数必须匹配,否则,编译器将引发错误。

如果 n1 是 char 类型,a 也应该是 char 类型。如果 n2 为浮点型,则变量 b 也应为浮点型。

也可以在不传递参数的情况下调用函数。

语句 return

语句 return 终止函数的执行并将值返回给调用函数。在 return 语句之后,程序控制权将转移到调用函数。

在上面的示例中,变量的值 result 返回到主函数。变量 sum 在 main() 函数中被分配了该值。

语句 return

return (expression);

على سبيل المثال،

return a;
return (a+b);

يجب أن يكون نوع القيمة التي يتم إرجاعها من الوظيفة مطابقاً لنوع العودة المحدد في原型 الوظيفة والتعريف الوظيفي.

زيارة هذه الصفحة للحصول على معلومات عنمرور المعلمات وإرجاع القيم منلمعرفة المزيد.