- 函数是一块代码,接受零个或多个参数,完成代码块内设定的内容,返回零个或一个值
- 定义
#include<stdio.h>
int main()
void sum (int begin , int end) //函数头
{
int i;
int sum = 0;
for (i = begin;i <= end;i++)
{
sum += i;
}
printf("%d到%d的和是%d\n",begin,end,sum); //函数体
}
其中:
void:返回类型
sum:函数名
(int begin,int end):参数表
- 调用函数
1)函数名(参数值);
2)()起到了表示函数调用的重要作用
3)即使没有函数也需要()
4)如果有参数,要给出正确的数量和顺序
5)这些值会被按照顺序依次用来初始化函数中的参数
- 从函数中返回
1)return:停止函数的执行,并送回一个值
2)return;
3)return 表达式;
4)一个函数里可以出现多个return语句(不常用,不符合单一出口的设计理念)
- 从函数中返回值
1)可以赋值给变量
2)可以再传递给函数
3)可以丢弃
4)取副作用
- 没有返回值的函数
1)void 函数名(参数表)
2)不能使用带值得return
3)可以没有return
4)调用的时候不能做返回值的赋值
- 函数原型
1)函数先后关系
2)函数头,以分号“;”结尾,就构成了函数原型
3)目的:告知编译器函数的名称、参数(数量及类型)、返回类型
4)一般写在调用它的函数前
- 参数传递
1)调用函数
a、如果函数有参数,调用函数时必须传递给它数量、类型正确的值
b、可以传递给函数的值是表达式的结果,eg:字面量、变量、函数的返回值、计算的结果
#include<stdio.h>
int main()
{
int a,b,c;
a=5;
b=6;
c=max(10.12);
c=max(a,b);
c=max(c,23);
c=max(max(23,45),a);
c=max(23+45,b);
return 0;
}
2)C语言在调用函数时,永远只能传值给函数
- 本地变量
1)定义:函数的每次运行,就产生了一个独立的变量空间,在这个空间中的变量,是函数的这次运行所独有的,称为本地变量
2)定义在函数内部的变量就是本地变量
3)参数是本地变量
- 变量的生存期和作用域
1)生存期:变量出现与消亡的时间
2)作用域:在代码的什么范围内可以访问这个变量
3)对于本地变量,生存期和作用域为“{ }”内——块
- 本地变量的规则
1)本地变量定义在块内(函数的块内、语句的块内、任意{ }的块内)
2)程序运行进入这个块之前,其中变量不存在,离开这个块,变量消失
3)块外定义的变量在里面仍然有效
4)块里面定义和外面同名的变量,外面的变量会被掩盖
5)不能在一个块内定义同名的变量
6)本地变量不会被默认初始化
7)参数在进入函数的时候会被默认初始化