文档介绍:函数
第九章
回顾
理解数组的存储机制
掌握数组的定义和使用
掌握数组的初始化
理解二维和多维数组
目标
掌握函数的结构
掌握函数声明和原型
按值传递/ 按地址传递
理解函数的作用域
函数
独立的程序段
执行一个具体的、明确定义的任务
易于编写、理解、调试和维护
将需要多次执行的一组指令定义为函数
函数的结构
type_specifier function_name ( arguments )
{
函数体
}
返回值的数据类型
有效的函数名
形式参数
例:编写输出乘法口决表的函数
void output()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
printf("%2d*%2d=%2d",i,j,i*j);
}
printf("\n");
}
}
函数的数据类型
如果返回的是一个整型值或者没有返回值,可以省略类型标识符
为了避免出现不一致,最好指定数据类型,没有返回值一般指定为void
返回值的类型要与函数类型保持一致
int squarer(int x)
/* int x; */
{
int j;
j = x * x;
return(j);
}
函数声明
在定义之前使用函数,必须声明
否则,一些编译器会返回错误
#include <>
Void main()
{
void address();
}
Void address()
{
}
调用函数
函数名后面必须有括号
程序可以有一个以上的函数
主调函数
被调函数
函数的参数
#include <>
int squarer(int x);
main()
{
int i;
for(i =1; i <=10; i++)
printf("\nSquare of %d is %d ", i,squarer (i));
}
int squarer(int x)
/* int x; */
{
int j;
j = x * x;
return(j);
}
形式参数
实际参数