函数的封装
函数封装可以理解为为一个功能写一个子函数。
格式
返回值类型 函数名(参数列表){
函数体;
}
封装的好处
1、实现代码的复用,避免编写重复的代码
封装的函数可以在程序的不同部分被多次调用,从而实现代码的复用。这样可以避免编写重复的代码,提高开发效率。
2、提高代码的可读性和可维护性
通过将相关的代码块放在一个函数内部,可以将大量的代码分解成小块,提高代码的可读性和可维护性。
函数封装后可以提高我们代码的阅读性,可以快速的略过一些封装函数,直接找到main()函数,从main()函数开始再次有序的阅读代码。
函数的调用
函数调用指一个函数暂时中断本函数的运行,去执行另一个函数的过程。
主函数可以调用子函数,子函数之间也可以相互调用。但是,子函数不能调用主函数。
格式
函数名(参数列表);
函数的参数
形参与实参类型要对应,个数和顺序必须抱持一致。
形式参数(形参):
形式参数是指函数明后括号中的变量,因为形式参数只有在函数被调用的过程中才实例化(分配内存单元),所以叫形式参数;形式参数当函数调用完成后就自动销毁了,因此形式参数只有在本函数中有效。
实际参数(实参):
真实传递给函数的参数,叫实参;
实参可以是:常量、变量、表达式;
传值调用
函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参(形参是实参的一份临时拷贝)
传址调用
1、传址调用是把函数外部创建变量的内存地址传递给函数参数的一种调用函数的形式;
2、这种传参方式可以让函数和函数外边的变量建立起真正的联系(函数内部可以直接操作函数外
部)。
传值调用和传址调用的选择
不需要改变实参的时候传值调用;需要改变实参的时候传地调用。
函数的原型声明
一般函数的声明写在程序的开头或者放在头文件中。
如果被调用函数定义在调用函数之后,在函数使用之前,需要进行原型声明。
当被调用函数与调用函数不在同一个文件时,必须使用函数声明。