C语言——函数

函数

函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数,函数是C源程序的基本模块。

  • 函数声明:告诉编译器函数的名称,返回类型和参数。
  • 函数定义:提供函数的实际主体。
函数声明:
return_type function_name( parameter list );

函数定义形式:

return_type function_name(parameter list){
body of function
}
  • 返回类型(return_type):一个函数返回一个值,而这个是返回值的数据类型。void类型就是某些函数不需要返回值的体现。
  • 参数名称(function_name):函数的名称。
  • 参数:调用函数时向函数传递的值。参数列表包含函数参数的数据类型,顺序和数量。当无参数时,void或者不写参数。
  • 参数主体:一组定义函数执行任务的语句。
    下面举个例子来具体说明一下:
//函数作用:求2个浮点数的和并返回整数结果
int sum(float a,float b){
//定义局部变量来接收结果
int result;
result = (int)(a + b);
//返回结果
return result;
//return (int)(a+b);
}

以上sum函数有2个浮点数a与b,返回值是2个浮点数的整数和。
这个函数的声明为:

int sum(float a,float b);

调用函数

当调用函数时,传递函数所需要参数,函数有返回值的情况下,可以接收返回值。

#include <stdio.h>
 
/* 函数声明 */
int sum(float a, float b);
 
int main ()
{
   // 局部变量定义
   float A = 10.0;
   float B = 7.0;
   int Sum;
 
   //进行求和
   Sum= sum(A, B);
 
   printf( "Sum value is : %d\n", Sum );
 
   return 0;
}
 
//求2个浮点数的和并返回整数结果
int sum(float a,float b){
//定义局部变量来接收结果
int result;
result = (int)(a + b);
//返回结果
return result;
//return (int)(a+b);
}

之后执行结果为:

Sum value is 17

形参和实参

在上面的函数中,有形式参数(a,b)和实际参数(A,B)之分,那么他们区别是什么。

实参:在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。

形参(parameter):又称虚拟变量。是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数.在调用函数时,实参将赋值给形参。因而,必须注意实参的个数,类型应与形参一一对应,并且实参必须要有确定的值。

  • 形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。
  • 形参和实参的功能是作数据传送。发生函数调用时, 主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文地址:C语言函数调用栈(一)C语言函数调用栈(二) 0 引言 程序的执行过程可看作连续的函数调用。当一个函数执...
    小猪啊呜阅读 4,665评论 1 19
  • C语言函数(一) 谨记 短暂的人生中,注定有很多人陪伴着你度过,陪你一起欢呼,陪你一起伤心流泪,陪你一起走过一条又...
    长风留言阅读 2,292评论 1 7
  • 1、c语言的函数有以下特点: (1)才源程序由函数组成,一个主函数main()+若干其他函数 C程序中的函数类似文...
    滕王阁序阅读 1,367评论 0 6
  • 函数基本概念 C源程序是由函数组成的例如: 我们前面学习的课程当中,通过main函数+scanf函数+printf...
    极客江南阅读 1,368评论 1 14
  • 函数基本概念 C源程序是由函数组成的例如: 我们前面学习的课程当中,通过main函数+scanf函数+printf...
    极客学院凯阅读 232评论 0 1