【C语言】函数

目录

函数是什么

函数有什么用呢

 函数的实参和形参

 函数调用区分传值和传址

 总结:


函数是什么

1. 函数就是 C 语言的模块,一块一块的,有较强的独立性,可以相互调用,换句话说,C 语言中,一个函数里面可以调用 n 个函数,即大函数调用小函数,小函数又调用“小小”函数。
2. 函数就是一系列 C 语句的集合,能完成某个特定的功能。需要该功能的时候直接调用该函数即可,不用每次都重复代码。需要修改该功能时,也只需要修改和维护这一个函数即可。


打个比方说:

函数就像是公司里的员工,老板需要你的时候,就可以立即调用你,老板拿着两份文件(a和b)说:来,把这两个文件给我处理一下,员工处理好文件后,将处理过后的文件再返回给老板   

此代码实现    输入两个数,比较两个数的较大值,输出较大值

函数有什么用呢

1:在我们写代码的时候,有时候会重复的写一段代码,而这段代码所实现的功能,操作是一样的,只是填写的数据不一样,这个时候,将这段功能写成一个函数模块,在需要用到的时候调用即可,避免重复写相同的代码。
2:方便代码的修改,如果那一部分出了问题,就在函数体内修改那一部分的代码,如上述中所说的老板与员工,如果结果算错,就让员工更改他的操作方式直到正确即可。
 

 函数的实参和形参

(实际参数)实参:真实传给函数的参数,叫实参。实参可以是∶常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。

 (形式参数)形参:形式参数是指函数名后括号中的变量,因为形式参数只有在函数被调用的过程中才实例化(分配内存单元),所以叫形式参数。形式参数当函数调用完成之后就自动销毁了。因此形式参数只在函数中有效。

        我上面例举的例子中,老板给员工的文件 int max=get_max(a,b)  是真实存在的东西,他把这个参数真实的传给了员工,这就叫实参。而员工  int get_max(int x, int y)  处于一种等待的状态,等待老板把参数传给他,这就叫形参。

 函数调用区分传值和传址

 在讲概念之前我们先来看看这段代码,我们想要他实现两个数的交换

swap1实现的则是数值的交换,z就好比一个空瓶,x为醋,y为酱油,将醋先放到空瓶中,z=x(把x的值赋给z),这时放醋的瓶子空了,再把酱油放到醋的瓶子里x=y(把y的值赋给x),最后再把倒在空瓶中的醋倒在装酱油的瓶子里y=z。

看起来好像没有什么问题吧,大家想想这段代码交换前和交换后的结果到底是什么呢

 耶,这里为什么还是一样的呢,这就是我要说的到的传值

传值:顾名思义,只传数值,函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参。

 在主函数中,int a=10    int b=20;这里开辟了两个空间一个存放10一个存放20,函数在被调用的时候,x和y也开辟了新的空间,他们都是独立的空间,互不影响,只是实参传给形参,形参其实只是实参的临时拷贝,只是拷贝到了a和b的值,所以整个函数只是x和y的值交换了,并没有影响a和b的值。

 那我们该怎么办呢     这就要用到传址

传址:传址就是传地址

传址调用是把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式。
这种传参方式可以让函数和函数外边的变量建立起正真的联系,也就是函数内部可以直接操作函数外部的变量。
 

我们应用指针把a的地址给*pa,把b的地址给*pb,这样就产生了联系,我们就可以通过指针来改变a和b的值

 总结:

      本篇文章是我自学后的总结想要分享给大家,也是我对所学知识的巩固,如果有那个地方没有讲对或者你有更好的建议,还请发在评论区。

如果你觉得看了我的总结后,对你有帮助,不妨点个赞加关注,一起学习,谢谢!

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>