C语言中的函数类型

在实际应用中,C编程语言中的函数可以定义为带参数或不带参数,并且它可能返回一个值,也可能不返回值。这完全取决于用户的需求。因此,根据我们的要求,我们可以通过多种方式定义用户自定义函数。以下是C语言中可用的函数类型列表。

  1. 无参数且无返回值的函数。
  2. 无参数但有返回值的函数。
  3. 有参数但无返回值的函数。
  4. 有参数且有返回值的函数。

在上述类型中,第1种和第3种函数在调用时不会返回任何值。因此,在定义这些函数时,我们使用 void 作为返回类型。

当我们调用C语言中的第2种和第4种函数时,它们会返回一些值。这就是为什么在定义函数时,我们必须使用适当的数据类型(如 int、float、double 等)作为返回类型。我们在函数内部使用 return 关键字,以便在从 main() 或任何子函数调用它时返回某个值。

C 编程中的函数类型

下面的示例将向您解释该编程语言中可用的函数类型。

无参数且无返回值的函数

在这种方法中,我们在定义、声明或调用函数时不会向函数传递任何参数。当我们从 main() 或任何子函数调用 C 语言中的这类函数时,它不会返回任何值。当我们不期望有任何返回值,但需要打印一些语句作为输出时,这种类型的函数非常有用。

无参数且无返回值的示例

在这类C语言程序函数中,我们将计算两个整数值的和,并从用户自定义函数(udf)本身打印输出。

#include<stdio.h>

// Declaration
void Addition();        

void main()
{
  printf("\n ............. \n");
  
  Addition();                      
}

void Addition()
{
  int Sum, a = 10, b = 20;  
  Sum = a + b;
  
  printf("\n Sum of a = %d and b = %d is = %d", a, b, Sum);
}
C Function with No Parameters and No Return Value

在这个C语言函数示例中,如果您观察 main() 函数,我们没有向 Addition() 传递任何参数。

在 Addition 函数内部,我们声明了整型变量 sum、a、b,并将10赋给a,20赋给b。在下一行 C 语言编程代码中,我们使用算术运算符(+)计算和。

Sum = a + b
    = 10 + 20
    = 30

下面的 printf 语句用于打印输出。

printf("\n Sum of a = %d and b = %d is = %d", a, b, Sum);

无论何时我们调用 Addition(),它都会打印相同的输出,因为 a 和 b 的值在udf(用户自定义函数)块内部是固定的。

无参数但有返回值的函数

在这种方法中,我们在定义、声明或调用函数时不会传递任何参数。当从 main() 或任何子方法调用时,这种C类型的函数会返回一些值。

返回值的“数据类型”将取决于函数声明的返回类型。例如,如果返回类型是 int,那么返回值也将是 int。

在这个函数类型程序中,我们将使用不带参数和 return 关键字的用户自定义函数来计算两个整数的乘积。

#include<stdio.h>

int Multiplication();        

int main()
{
  int Multi;

  Multi = Multiplication();
  printf("\n Multiplication of a and b is = %d \n", Multi );        

  return 0;            
}

int Multiplication()
{
  int Multi, a = 20, b = 40;  
  
  Multi = a * b;

  return Multi;
}
Function with No Parameters and with Return Value

如果您观察 main() 函数,我们声明了整型变量 Multi。我们将其赋值为 Multiplication() 的返回值。因为用户自定义函数也只返回整型值。

Multi = Multiplication();

我们没有向 Multiplication() 传递任何参数。

在下一行,printf 语句用于打印输出。

printf("\n Multiplication of a and b is = %d \n", Multi);

无论何时我们调用 Multiplication(),它都会打印上述语句。

在 Multiplication() 内部,我们声明了整型变量 Multi、a、b,并将20赋给a,40赋给b。

在下一行,我们使用算术运算符(*)将 a 和 b 相乘。

Multi = a * b
      = 20 * 40
      = 800

无论何时我们调用 Multiplication(),它都会打印相同的输出,因为 a 和 b 的值在方法体内部是相同的。

有参数但无返回值的函数

如果您观察以上两种C语言中的函数类型,无论您执行多少次,它都会给出相同的输出。我们无法控制变量 a 和 b 的值,因为它们是固定的值。

在实际应用中,我们大多处理动态数据,这意味着我们必须允许用户输入自己的值,而不是使用固定的值。

这种方法允许我们在调用函数时向其传递参数。但是,这种C类型的函数在从 main() 或任何子方法调用时不会返回任何值。

如果我们想允许用户将自己的数据传递给参数,但我们不期望有任何返回值,那么这种类型的函数在实际应用中非常有用。

这类C语言函数程序允许用户输入2个整数。接下来,我们将把这些值传递给用户定义的函数来计算它们的和。

#include<stdio.h>

void Addition(int, int);        

void main()
{
  int a, b;

  printf("\n Please Enter two integer values \n");
  scanf("%d %d",&a, &b);

  //Calling with dynamic values
  Addition(a, b);
}

void Addition(int a, int b)
{
  int Sum;  
  
  Sum = a + b;

  printf("\n Additiontion of %d and %d is = %d \n", a, b, Sum);
}
Function with Parameters and No Return Value

如果您观察 main() 函数,我们声明了整型变量 a 和 b。这个程序允许用户输入两个整数作为 a 和 b。

printf("\n Please Enter two integer values \n");
scanf("%d %d",&a, &b);

在下一行,我们用用户输入的值调用了 Addition(int a, int b)。

Addition(a, b);

在 Addition(int a, int b) 内部,

我们声明了整型变量 Sum,并且在函数中还有整型 (a, b) 参数。这意味着该函数将允许用户传递2个整数。

接下来,我们使用算术运算符(+)将 a 和 b 相加。在下一行,printf 语句用于打印输出。

printf("\n Additiontion of %d and %d is = %d \n", a, b, Sum);

有参数且有返回值的C函数

这种方法允许我们在调用函数时向其传递参数。当从 main() 或任何子函数调用时,这种类型的函数会返回一些值。返回值的“数据类型”将取决于函数声明的返回类型。例如,如果返回类型是 int,那么返回值也将是 int。

这种类型的用户自定义函数被称为完全动态的函数,它为最终用户提供了最大的控制权。

这类C语言函数程序允许用户输入2个整数。然后,我们将把这些值传递给用户自定义函数(UDFs)进行相乘,并使用 return 关键字返回输出结果。

#include<stdio.h>

int Multiplication(int, int);        

int main()
{
  int a, b, Multi;

  printf("\n Please Enter two integer values \n");
  scanf("%d %d",&a, &b);

  //Calling the with dynamic values
  Multi = Multiplication(a, b);

  printf("\n Multiplication of %d and %d is = %d \n", a, b, Multi);        
  return 0;            
}

int Multiplication(int a, int b)
{
  int Multi;  

  Multi = a * b;

  return Multi;
}
Types of Functions in C Programming Example

如果您观察 main() 函数,我们声明了整型变量 Multi、a 和 b。这个程序允许用户输入两个整数作为 a 和 b。

printf("\n Please Enter two integer values \n");
scanf("%d %d",&a, &b);

在下一行,我们将 Multiplication(int a, int b) 的返回值赋给了整型变量 Multi。这是因为该用户自定义函数也只返回整数。

Multi = Multiplication(a, b);

我们把用户的输入作为参数传递给了 Multiplication(int a, int b)。在下一行,printf 语句打印输出。

printf("\n Multiplication of a and b is = %d \n", Multi);

在 Multiplication() 内部,我们声明了整型变量 Multi,并且还有两个整型 (a, b) 参数。这意味着该函数将允许用户传递两个整数。在下一行,我们使用算术运算符(*)将 a 和 b 相乘。

评论已关闭。