C语言是由许许多多函数组成的.函数分为声明和实现,在实际开发中两者是分开两个文件来保存的,函数名.h/函数名.c,两个文件的函数名要一致.
函数的定义:是一段具备特定功能的程序段.
作用:1.提高了代码的复用性,减少代码量.
2.当需求变更,不需要去改很多代码.
目的:把一个功能封装起来,方便以后调用.
函数名后面()里的每一个变量我们称之为形式参数,简称形参
调用函数时传入的参数,我们称之为实际参数,简称实参,他可以是常量,变量或者其他结构数据类型及表达式.函数也是可以作为实参传递的,此时传递的是函数的返回值,所以,能做实参的函数必须是有返回值的.
函数有:
1.有参数有返回值
2.有参数没有返回值
3.没有参数有返回值
3.没有参数没有返回值
规定:没有返回值的函数统一用void来定义.
注意:C语言中函数可以不写返回值类型,系统会默认返回值类型是int类型
函数的定义格式:
返回值类型函数名称(形参列表1,形参列表2....)//形参是函数被调用的时候才会分配存储空间
{
函数体; //语句; ...
}
例如:int getMax(int a, int b)
{
int max = a > b ? a :b;
return max;
}
---------------------------
函数要使用,必须要在main函数之前有声明,如果函数定义在main函数之前,就没有声明的必要了,函数要调用才会被执行
函数声明:函数名(形参1,形参2…); ,如int getMax(int,int);形参的变量名省略不写.
函数调用格式总结为:函数名(实际参数); ,如:int getMax(实参1,实参2…);多个实参用逗号隔开.若这个函数是有返回值的,要定义一个变量来接收返回值.
定义函数有4个确定
1.确定函数名称(有意义的)
2.确定形参类型
3.确定返回值(这个函数是否有返回值,没有的话就不用)
4.确定返回值类型(函数名字前面那个数据类型)
-----------------------------------------
函数中的return有2个作用
(有返回值的函数一定要有return,void函数可以有也可以没有,一般都不写,要写就写return;这样写了也不会报错)
1.返回值给调用者
2.正常结束函数
3.提前结束函数
--------------------------------------
函数的注意点:
1.形参的个数和实参的个数必须一致
2.如果形参是基本数据类型(int float double char),是值传递,
修改函数内形参的值,一般不会影响函数外面的实参(有例外的情况),
但是会影响有返回值的结果.
3.返回值跟返回值类型不一致的时候,系统会进行隐式转换.
4.函数不能嵌套,能互相调用.
5.函数名称不能相同,不要以为形参类型不同就可以了,一样不行的.
6.如果一个函数的返回值类型是int类型的,可以没有声明,也不会报错.