C语言里可以对语句进行分组,每个语句分组叫做一个函数
一旦函数被调用,会执行该函数所表示的语句分组
c 代码:
//此段代码为一个函数用于计算a+b的值
int main (int a,int b)
{
return a + b;
}
函数定义的写法:
C 代码:
返回值类型 函数名 (输入参数值)//本行为函数头
{ //花括号里边的为函数体
做点什么事情吧
return 返回值;
}
形参与实参:
形参与实参相互独立
C 代码:
#include<stdio.h>
int add (int a,int b)//此处a,b为形式参数、简称:形参
{
return a + b;
}
int main()
{
int result;
result = add(2,3);//此处为实际参数,简称:实参
printf("%d",result);
return 0;
}
三步骤:
只能从被调用函数向调用函数传递一个数据,这个数据叫做被调用函数的返回值
返回值必须记录在被调用函数的储存区里,编写函数的时候要把这个储存区的类型名称卸载函数名称前面
被调用函数里使用return关键字指定作为返回值的数值
调用函数里要把整个函数调用该语句当作数字使用,这个数字就是被调用函数的返回值
可以从调用函数向被调用函数传递多个数据,这些数据的类型可以不同
被调用函数需要为每个传递过来的数据提供一个储存区
编写函数的时候需要在函数名称后面的小括号里声明一组变量,这些变量就用来表示前面提到的储存区,这些变量叫做形式参数,小括号里的所有内容叫做形式参数列表
调用带有参数的函数时需要在函数调用语句的小括号里为每个形式参数提供一个对应的数字,计算机 会把这些数字记录到对应的形式参数里。被调用函数可以通过形式参数得到这些数字。这些数字叫做实际参数
只要能当作数字使用的内容,都可以作为实际参数使用。
函数调用过程中通常伴随着两个函数之间的数据传递
数据传递存在两个完全相反的方向
任何函数都可以分为大括号前面的部分和大括号里面的部分
函数大括号前面的部分可以单独写成一条语句,这种语句叫做函数声明语句
函数声明语句里可以省略形式参数名称
把函数声明语句卸载文件开头叫做函数的显式声明
除了主函数以外的所有函数都应该进行显式声明
格式:extern 返回值类型 函数名(形参列表)
函数的定义在函数的调用前面,可以省略函数声明
C语言里函数可以调用自己,自己调用自己的函数叫递归函数
能使用某个变量的所有语句叫做变量的变量的作用域
生命周期是一段时间,在生命周期开始的时候计算机给程序分配储存区,在生命周期结束的时候,计算机把分配给程序的储存区收回
局部变量是定义在函数内的变量
全局变量是定义在函数外的变量
局部变量(静态局部变量)
区别:静态局部变量的生命周期是整个程序的执行时间
全局变量(静态全局变量)
区别:静态全局变量无法被其他文件调用
生命周期:定义变量的时候编译器为其分配存储区,函数结束的时候回收其存储区