没学函数之前,如果我们有一段代码完成一个特定的功能,需要被多处使用的时候
有以下缺点:
1.代码冗余,代码太多,不方便阅读
2.不容易修改。比如说,功能要变的话,那么其他所用用到这个功能的地方都要修改
因此,我们用函数来封装一段功能的代码
一、函数可以理解为一个打包袋,把那些代码包装起来,然后需要用的时候拿出这个包装袋就可以了
函数的语法:
返回值类型 函数名(参数列表){
函数体;
}
注意:
1.函数名必须符合标示符规范:
a.只能以字母、下划线、美元符号开头(函数的话都是直接以字母开头)
b.不能与关键字重名
c.函数名要有意义
d.遵守驼峰命名法
2.参数列表那,可以没有一个参数,那样的话小括号里面什么都不写,也可以有n个参数,各个参数用逗号隔开
3.返回值类型可以允许无返回值,如果无返回值以void写上,如果有返回值,那么看你的返回值类型是什么,就写上什么类型
无参 有一个char类型返回值的函数
char myTest(){
}
有1个参数有float类型返回值的函数
float myTest2(float f){
}
无参无返回值的函数
void test(){
}
有两个参数无返回值的函数
void test2(int num,char ch){
}
以上都是函数的定义(实现);
二、 函数的调用
语法:
函数名(参数列表);
注意:函数如果无参,那么参数列表为空,如果有参数,则顺序传入实参,各个参数用逗号隔开
例: test();
test2('a',10);
如果函数有返回值的话,我可以接收,也可以不接收。不管接不接收,只要你调用了函数都会被执行
如果接收的话,必须用一个变量来保存这个返回值
三、函数的声明:
为什么需要函数的声明呢??
当你调用的函数定义(实现)在后面的话,那么必须先声明,否则会报错
怎么声明?
其实就是函数头,后面加分号
函数的声明可以写在哪?
任意位置,只需要保证在你调用这个函数之前就行了!
四、参数分为:
实参:调用函数时传入的参数
形参:定义在函数中的参数
在C语言中,除了数组以外的其他类型变量,改变了形参的值,实参不会发生改变。
五、函数一些注意的地方:
1.函数只能定义(实现)在别的函数外面,不能定义在别的函数里面
2.C语言中,函数木有重载
重载:函数名可以相同但是参数不同
也就是说C语言中哪怕你参数不同,函数名一样的话也会报错!
一句话:C语言函数名不能重名
六、 全局变量和局部变量:
全局变量:定义在函数外的变量就是全局变量
局部变量:定义在函数内的变量就是局部变量
注意:全局变量如果定义在最后面,想在前面使用的话,必须也要先声明。
声明的语法:类型参数名;
就是不要赋值的那部分
但是注意:全局变量的声明只能写在函数外
不同点:
1.生命周期不同
全局变量:程序一启动就加载,程序结束才回收
局部变量:当运行到它定义的语句的时候才加载,出了它所在的作用域就回收
2.作用域不同:
全局变量:所有函数中都可以访问
局部变量:只有它定义的时候开始到它所在的作用域结束 |
|