C 语言入门(六)
前言
欢迎,欢迎,今天迎来的是 “函数” 大神😇
六、函数简介
6.1 函数声明
类似于数学中的 “函数”,有输入,输出和对应法则🧐
函数是一段可以重复执行的代码。它可以接受参数,完成对应的操作。
c
int plus(int a,int b) {
return a + b;
}
// 函数的调用(函数必须声明后使用,否则会报错)
int a = plus_one(3,4);函数的声明
int:返回值类型,函数声明前需要给出返回值的类型。plus:自定义函数名,遵循命名规范。int a:声明参数的类型和参数名,可以有多个参数。return:给出函数的返回值后,就会结束函数的调用。如果函数没有返回值,可以省略return语句,或者写成return;。
viod 关键字
常用在函数语句哦😮
void 关键字C语言中,主要用于表示“无类型”或“无返回值”。
c
void myFunc(void) {
// ...
}扩展
递归
可以想象你前后都有一面镜子,看向其中一面,你就会发现镜中无限“递归”🧐
递归指的是在函数的定义中使用函数自身的方法。
c
// 斐波那契数列
unsigned long Fibonacci(unsigned n) {
if (n > 2)
return Fibonacci(n - 1) + Fibonacci(n - 2);
else
return 1;
}6.2 函数的参数
c
int plus(int a,int b) {
return a + b;
}
// 函数的调用(函数必须声明后使用,否则会报错)
int a = plus_one(3,4);- 形参:形参是函数定义时的参数,它们在函数体内用作占位符。其作用是接收调用函数时传入的实际参数。例如
a。 - 实参:实参是函数调用时传递给函数的具体值或变量。实参的值会被传递给形参。例如
3。
参数传递方式
水了,水了😋
可变参数
了解即可,写普通代码也是很少用了🤔
有些时候,函数的参数数量是不确定的,可以使用省略号...表示可变数量的参数。
c
int myFun (int a, ...);6.3 入口函数
别打成
mian()就行😒
C 语言规定,main() 函数是程序的入口函数
所有的程序一定要包含一个
main()函数。程序总是从这个函数开始执行,如果没有,该程序就无法启动。
其他函数都是通过它引入程序的。
c
int main(void)
{
printf("Hello World\n");
return 0; //可忽略(建议写上)
}
//return 0; 表示函数结束运行,返回 0
//C 语言约定,返回值 0 表示函数运行成功,如果返回其他非零整数,就表示运行失败函数原型
“函数必须先声明,后使用”,那就是说必须在
main()函数前声明呗?🤔
因为程序会先运行main()函数,所以其他函数都必须在main()函数之前声明。否则编译时会产生警告。也可以在程序开头处给出函数原型,函数就可以先使用、后声明。
所谓函数原型,就是提前告诉编译器,每个函数的返回类型和参数类型。具体的函数实现可以后面再补上。
c
int plus(int a,int b);
int main(int num) {
return plus(3, 4);
}
int plus(int a,int b) {
return a + b;
}6.4 函数指针
写在最后
如果一段代码重复使用且逻辑完整建议拆分成函数🤔
函数算是以上文章的“结合体”了,你可以在函数中写变量、运算或控制流。函数是一个程序的“子体”,一起组成了一个完整的程序。
