图片[1]yxqzC语言中的函数yxqz小余塘

作者:余小小

日期:2021-10-02

函数概念

  • 每个 C 程序都至少有一个函数,即主函数 main()

  • 函数声明告诉编译器函数的名称、返回类型和参数

  • 函数定义提供了函数的实际主体(实现函数)

  • 函数还有很多叫法,比如方法、子例程或程序。函数就是功能

  • 函数名字:小驼峰+标识符

  • 返回类型:基本类型或者自定义类型

  • 括号里的东西:参数,可以不写,则是没有参数

  • 参数(形参):和定义变量一样,数据类型 +参数名

  • 代码区域:要执行的代码

定义函数

返回类型 函数名字( 参数 )
{
  body of the function
}

 

  • 返回类型:一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字 void

  • 函数名称:这是函数的实际名称。函数名和参数列表一起构成了函数签名。

  • 参数:参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数。

  • 函数主体:函数主体包含一组定义函数执行任务的语句。

/* 函数返回两个数中较大的那个数 */
int max(int num1, int num2)
{
  /* 局部变量声明 */
  int result;

  if (num1 > num2)
     result = num1;
  else
     result = num2;

  return result;
}

 

函数声明

  • 函数声明会告诉编译器函数名称及如何调用函数。

  • 函数的实际主体可以单独定义。

函数声明语法:

返回类型 函数名字( 参数 );

 

声明一个函数:

int max(int num1, int num2);

 

参数的名称并不重要,只有参数的类型是必需的,因此下面也是有效的声明:

int max(int, int);

 

调用函数

  • 当程序调用函数时,程序控制权会转移给被调用的函数。

  • 调用函数时,传递所需参数,如果函数返回一个值,则可以存储返回值。(根据返回值类型来返回

#include <stdio.h>

/* 函数声明 */
int max(int num1, int num2);

int main ()
{
  /* 局部变量定义 */
  int a = 100;
  int b = 200;
  int ret;

  /* 调用函数来获取最大值 */
  ret = max(a, b);

  printf( "Max value is : %d\n", ret );

  return 0;
}

/* 函数返回两个数中较大的那个数 */
int max(int num1, int num2)
{
  /* 局部变量声明 */
  int result;

  if (num1 > num2)
     result = num1;
  else
     result = num2;

  return result;
}

 

实参和形参

实参

也就是实际参数。简单来说,比如你要调用一个带有两个参的函数,你当然需要传入两个值,这两个个值可能就是你当前定义的变量或者常量值,直接将你当前定义的这两个值放在你调用函数的括号里,那么这个括号里的参数,就是实参;比如我现在在调用带参函数:

int a  = 1, b = 2 ;
max(a,b);

 

这个括号里 a 和b就是实参

形参

也就会形式参数,也就是走个形式。形参和局部变量一样,在调用函数的时候创建,执行函数结束后销毁。在定义函数的时候那个括号里的参数,就叫形参

看代码,这里定义带有两个参数的函数max(a,b)

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

 

这个return的值就是a+b的值,也就计算传入两个数的和。然后调用这个函数的时候会返回这个和的结果。

函数参数

  • 使用参数,则必须声明接受参数值的变量。这些变量称为函数的形式参数(写在函数括号中的变量)

  • 形式参数就像函数内的其他局部变量,在进入函数时被创建,退出函数时被销毁。(java中有垃圾回收器来处理)

有两种向函数传递参数的方式:

调用类型 描述
传值调用 该方法把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数不会影响实际参数。
引用调用 通过指针传递方式,形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作。

默认C 使用传值调用来传递参数。一般来说,这意味着函数内的代码不能改变用于调用函数的实际参数。

文章版权声明 1、本网站名称:小余塘
2、本站永久网址:https://www.yxqz.top/
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ2457431511进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容