函数
一个函数是用于完成特定任务的程序代码的自包含单元。它可以执行某些动作,如使用printf进行输出;或返回一个值供程序使用,也可以同时具有以上两种功能。
调用它
使用函数就像购物一样,你花费RMB,得到需要的东西。在C语言中使用一个函数,称之为调用。调用一个函数的形式如下:函数名 (以逗号分隔的参数列表);
C语言要求一个名称被使用之前需要被看到。函数名也是一个名称,如printf()函数一样,它的名称声明在stdio.h中,因此你包含了这个头文件。使用对应函数,就需要包含对应的头文件。
回想最简单的Hello, World!程序 ,你会发现我们在程序中显示的调用了头文件stdio.h提供的printf()函数;同时main函数被间接的调用——因为我们没有明确的使用调用语法,但它却执行了。
函数可以有返回值,表明函数运行的最终结果。就像你满怀心喜,去买牛肉鱼丸,店主告诉你没有鱼丸一样,付出不一定都是满意的答案。这个返回值可以赋给一个变量,可以忽略,也可以直接做为其它函数的参数。
简单的例子
一切从最简单处开始,假定有一个求矩形面积的函数,calcRectArea。
int calcRectArea( int width, int height )
{
return width * height;
}
现在让我们尝试用调用语法在main()函数中使用它。
首先是函数名:calcRectArea
然后是左括号,calcRectArea(
矩形的面积=宽x高,表明这个函数需要两个参数,calcRectArea( 24, 35
然后是右括号与语句结束符calcRectArea(24, 35);
在这里,我们只是把函数调用了一下,并没有输出结果,如果这时你运行程序,会发现好像什么都没有发生。这就是丢弃函数返回值。
完整的例子
此刻,我们并不需要掌握关于函数更多的语法,所以不要纠结于整个calcRectArea的实现上。现在的目标就是调用它!来看看本节最终的完全示例,确保你理解了。
#include <stdio.h>
int calcRectArea( int width, int height )
{
return width * height;
}
float calcCircleArea( float r )
{
return 3.14f * r * r;
}
int getMyAge()
{
return 12;
}
// 先不用着急理解上面三个函数的定义,目标只是使用它们!
int main()
{
int rw = 20;
int rh = 12;
// 把函数返回值赋值给变量
int rectArea = calcRectArea( rw, rh );
printf( "area of rect(%d x %d): %d\n", rw, rh, rectArea );
// 把函数值传递给另一个函数
printf( "area of circle: %f\n", calcCircleArea( 2.35f ) );
// 调用函数但丢弃返回值
getMyAge();
printf( "here...\n" );
return 0;
}
glimix.com
网友评论