函数(程序代码的功能模块)

原创首发于 CSDN,文章转载请注明出处,谢谢!
https://blog.csdn.net/weixin_46959681/article/details/115771239



编程语言中一个函数的定义

函数是一个程序代码的功能模块。 每个函数本质上是一个自带声明和语句的小程序 。可以利用函数将程序划分成多个功能模块,例如 printf()、 scanf()、putchar()、getchar()。模块化的函数便于程序员理解和修改程序,不必多次重复和编写功能代码,也起到复用的作用。

| 在代码中实现一个函数

演示代码: average1.c

/* average1.c */
double average(double a, double b)
{
	return (a+b)/2;
}

在C语言中并没有计算“平均值”函数,上面的四行代码可以实现计算平均值。从上面的例子出发,我们可以大致看出一个函数的构造:

//形式参数可为空。
返回类型 函数名(形式参数)
{
	函数体
}

函数调用

调用函数时,传递所需参数。以两个整数的加和为例子 sum(x, y)

/* sum.c */
#include <stdio.h>

int sum(int x, int y)
{
        return (x + y);
}

int main()
{
        int a;
        int b;

        printf("Please input tow numbers:\n");
        scanf("%d%d",&a,&b);

        printf("the sum of a and b equal %d\n", sum(a,b));
        return 0;
}

拓 展 : 拓展: 当程序调用函数时,程序控制权会转移给被调用的函数 。被调用的函数执行已定义的任务,当函数的返回语句 return 被执行时,或达到函数的结束括号时,会把程序控制权交还给主程序 main

|传参分析(不涉及栈)

sum() 是一个形式函数,int a 与 int b 仅是形式参数其作用域仅限于该函数,但也有自身内存空间。仅当函数被调用时,才有了内存空间,才有了该变量。调用时把内存空间内的数据被赋值成形式参数的值,函数的调用实际上是把实际参数的值复制一份给了形式参数。上述的程序变量将主函数 mian 中的 x x x y y y 复制了一份到函数 sum() 中,实际上内存中存在两对变量。 打个比方,你爸爸叫你去买20斤大米,他将自己概念里的20斤米传了一份到你的大脑里。等于说,你爸爸的概念里有20斤米,你的概念里也有20斤米,这个信号接收的过程相当于传参。

函数传参结束后,函数的内存空间由内存管理单元自动回收即释放。


文章更新记录

  • 文章初步完成。 「2020.12.24 22:05」
  • 参考博客:c语言函数返回值问题 「2020.12.24 22:14」
  • 大幅调整博文内容。 「2021.4.14 15:45」

P.S.1 平台的审核机制太落后了,不得已……修改了代码部分,重发一遍吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值