函数的作用
函数有啥用呢,我觉得函数的作用就是可以模块化,可以将一个抽象的过程更加具体,而且能降低代码的冗余度。
抽象过程更加具体
设想你设计一个简单的计算器,这个过程可以分为:
- 1,输入变量a和变量b
- 2,计算结果
- 3,输出到屏幕
#include <stdio.h>
int get_a(){
int a;
scanf("%d",&a);
return a;
}
int get_b(){
int b;
scanf("%d",&b);
return b;
}
int caculate(int a, int b){
return a + b;
}
void display(int n){
printf("%d",n);
}
int main() {
int a = get_a();
int b = get_b();
int result = caculate(a,b);
display(result);
return 0;
}
你可能会觉得,明明这么简单的一个功能你为何要这么麻烦,还分这么多步骤,在一个main里边写完不就好了,我们举的例子很简单,若我们的问题更加复杂呢,比如设计一个围棋游戏,你全写main里边不会感觉不清晰吗,不应该将不同的功能摘出来,分别实现吗,这种分别实现的思想其实不光是c,在面向对象的编程语言也是这个思想。
降低代码冗余度
设想一下有个地方你要经常的使用for循环遍历数组并输出你会怎么写,每次都要写一遍吗,那不会很麻烦吗,将相同的代码封装成一个模块直接拿来用不更方便吗
函数的基本构成
函数由四部分构成 返回类型、函数名、参数、函数体
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wqNObM0t-1667614470247)(C:\Users\78187\Desktop\QQ截图20220923202712.png)]
第一个箭头指的是int ,这就是返回类型应与最后return返回的类型一致,比如这里我们的类型是int的返回的v也是int类型的,f1是函数的名字,v1,v2是函数的参数,{}里的东西是函数体。
函数的使用
int f1(int v1,int v2){
int v = v1 + v2;
return v;
};
int main() {
int a = f1(2,3);
}
函数的声明及定义
函数声明及定义有两种:
-
声明后直接定义(推荐使用,大部分语言都是这样的,像java,python等)
-
先声明再定义(好像只有c和c++可以)
声明后直接定义
int f1(int v1,int v2){
int v = v1 + v2;
printf("%d",v);
};
先声明后定义
int f1(int v1,int v2);
int main() {
}
int f1(int v1, int v2){
int v = v1 + v2;
printf("%d",v);
}