函数与数据内存

函数与数据内存

函数时C语言实现模块化设计的方式,它是C程序中最小的功能单位。在一个C程序的实现过程中,通过使用函数,可以把较大、较复杂的程序任务分解成若干较小、较单一的独立任务

函数的优点:

  1. 降低了程序设计的复杂度,单个函数的功能更简单、独立,容易编程实现
  2. 降低了程序员开发程序的工作量,编程人员可以在已有函数的基础上构造新的程序,而不需要从头做起,避免重复编写
  3. 对于一些具体操作的细节,可以通过函数隐藏,是整个程序结果更清晰

一个完整C程序的函数可以分为两类:

  • 由用户自己定义并编写功能代码的函数,称为用户自定义函数
  • 由C系统标准库提供的标准库函数(简称库函数),使用其功能时,用户只需要遵循其调用格式进行调用就可以了

1. 库函数

注:在调用库函数时,需要在源文件中加入预处理命令#include <库函数名>

2. 函数定义

1. 函数定义的格式

函数返回值的类型名 函数名(类型名 形式参数1,类型名 形式参数2···)

函数定义的注意点:

  1. 函数名、圆括号中的参数、函数体内的变量它们都是由用户自定义的标识符,应当符合C语言语法中标识符的命名规则
  2. 同一个C程序中,不允许出现同名函数
  3. 同一个函数体范围内,不允许定义同名变量(定义在复合语句中的变量除外)
  4. C语言规定,函数不可以嵌套定义,即不能在一个函数的函数体中去定义另一个函数,每一个函数都是一个独立的函数模块
  5. 函数的返回值类型若为int或char,通常类型关键字可以缺省不写
  6. 函数必须先定义(先声明),后调用
  7. 若函数功能仅仅是完成了一些操作,没有返回值,则函数首部的函数返回值类型名应定义为void
  8. C程序允许定义空函数。空函数没有返回值,圆括号中没有参数,函数体也是空的,编译时不产生任何指令,执行时若调用空函数则直接返回,不执行任何功能,它的存在就像是在程序开发时留下的"功能扩展槽"
2. 有参函数与无参函数

函数首部圆括号内的参数称为形式参数,简称形参。一个函数可以没有形参,也可以有一个或多个形参,这是根据函数本身所要实现的功能需要而设定的

通常,有参函数调用时,首先需要通过其形式参数得到具体的值,然后才执行该函数

而对于无参函数,函数没有必要必须提前得到一个值才能执行

函数有多个形式参数时,必须逐个说明每一个形式参数的数据类型,无论它们的数据类型一致还是不一致,这与变量定义的格式不一样

int Exp(int a, int b)
{
   
    int x,y;
    ···
}

其中,a,b是形参,而x,y是函数Exp函数的局部变量。虽然a,b的数据类型一样,但函数定义格式要求它们必须分别说明自己的数据类型;对于局部变量x,y,则不需要如此

3. 函数的调用与返回

函数都是通过调用得以执行其功能的。

对于一个C程序来说,主函数main()是由系统调用执行的,而其他函数则是由主函数调用的。把调用其他函数的函数称为主调函数,被主调函数调用的函数称为被调函数。

程序的一次执行过程:程序开始执行时,系统总是会先找到程序中的main()函数,从main()函数开始顺序执行其函数体的语句,在执行的过程中遇到了对其他函数的调用时,再转入其他函数开始执行,直至返回到main()函数,最终待main()函数执行结束后,返回调用它的系统,程序的一次执行过程结束

1. 函数调用形式

函数调用的一般形式:

被调函数名 (实际参数1, 实际参数2···)

实际参数可以是C语言的任意合法值,可以是常量、变量、

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值