C语言-函数

一、函数

1.1 函数概念

概念:是一段含有特定功能的程序代码的自包含单元。

1.2 函数特点

特点:
1)功能性;
功能是一个函数的灵魂,每一个函数都有自己不同的功能
2)通用性:
函数是为了解决某一类问题,而不是解决某一个问题
3)独立性

1.3 函数的好处

函数好处:
1、省去重复代码的编写
2、模块化思想

1.4 函数的分类

函数的分类:
库函数、主函数、自定义函数

1.5 函数的结构

函数的结构:函数头,函数体
函数体:声明部分,功能实现部分

int main()
{  
//代码
return 0}	 

1.6 实现自定义函数的步骤

实现自定义函数的步骤:
函数的定义,函数的声明,函数的调用
自定义函数分类:
按有无返回值分为:有返回值与无返回值
按形参和无形参分为:有参数与无参数

二、自定义函数

2.1 函数定义

函数定义:
形式:返回值类型 函数名(参数列表)
{
函数体;
}

说明:返回值类型即是返回的数据的类型
函数名 :符合标识符的命名规则
参数列表 : 数据类型 参数名
注意:如果定义多个参数 ,则需要用逗号分开,并且各自的数据类型不能省略。

2.2 函数的声明

声明的意义:就是为了告诉系统你有这样的一个函数存在
如何声明:
直接将所定义的函数头,放在要声明的位置,后面加分号
声明位置:一般在头文件和主函数之间
注意: 函数如果是在主函数之前定义的,则不需要声明

2.3 函数的调用

输入数据,看现象
得到函数的结果

练习: 1+2+…n;
形式:返回值类型 函数名(参数列表)

int add(int n)
{
  int i;
  int sum=0;
		for(i=1;i<=n;i++)
		  sum=sum+i;
}

注意:函数如果没有返回值直接写为void,
如果不写函数返回值类型的话,默认为int类型;函数的参数,属于函数内部变量

2.4 递归函数

递归函数:函数自己调用自己

递归函数和循环的区别:

递归函数是自己不断的调用自己,耗内存,

执行效率不高,用来处理一些有规律的事物比较方便

循环变量:节省内存,执行效率高

三、全局变量和局部变量

变量定义的位置:
函数内部、复合语句内部 函数外部

3.1 局部变量

定义的位置:函数的内部,复合语句内部,其中包括函数的形参

生存周期:从变量所在的函数被调用的时候,开始分配的空间到函数结束,同时空间释放。

作用域:变量所在的函数内部

初始值:默认为随机值

3.2全局变量

定义的位置:一般在头文件与主函数之间

生存周期 : 从定义的位置开始分配空间,直到整个程序代码结束,空 间释放

作用域:从定义的位置开始,以下所有的程序都可以对它进行修改和使用
初始值:默认为0

注意:当全局变量和局部变量的变量名一样的时候优先使用局部变量 符合就近原则

四、存储类型的关键字

4.1 auto

auto :修饰局部变量,自动局部变量

一般缺省,默认为auto

4.2 static

static :

修饰全局变量:静态全局变量

一旦用修饰,表示该变量不能被外面文件所使用,只能在本文件内部所使用

修饰局部变量:静态局部变量

初始值默认为0

也是只能在变量所定义的函 数内部使用,从所定义的位置开始,变量开始分配空间,整个程序代码结束,空间释放。

静态局部变量只定义一次,初始化一次,

下一次使用的初始值是上次使用变量的结果

4.3 extern

extern :声明为外部变量

​在同一个文件中,声明为外部变量

在同一个函数中,声明为外部变量:

例如 :led.c int a.
要在beep.c使用led里面的a变量,就需要在beep.c 里面把a声明为外部变量

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_翩翩少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值