函数分类
- 内置函数(STL和Boost C++)
- 自定义函数
书写自定义函数
先声明函数,定义 函数原型很重要
1.函数原型
2.函数实现 关注函数返回值类型, 函数名,参数类型。
3.函数定义 函数定义与函数原型一样,但是后面是不加分号的,是需要实现的。
练习题
#include <iostream>
#include<cmath>
using namespace std;
/*
三种形状的体积计算公式如下
长方形: 长 * 宽 * 高
圆柱体: 圆周率 * 半径的平方 * 高
圆锥体: 1/3 * 底面积 * 高
*/
//1.定义三个函数,分别用来计算三种形状的体积
//2.在main函数中用户可以选择计算某个形状的体积
//1.不需要返回值(void),直接在输出计算2.需要返回值
void calcCuboid();//计算长方体的体积
void calcCylinder();//计算圆柱体的体积
void calcone();//计算圆锥体的体积
int main()
{
//调用函数
int choice = -1 ;
while(choice)
{
cout << "1.长方体"<< endl;
cout << "2.圆柱体" << endl;
cout << "0.退出" << endl;
cin >> choice;
switch (choice)
{
case 1:
calcCuboid();
break;
case 2:
calcCylinder();
break;
}
}
cout << "感谢使用本软件,觉得好点个赞呗!"<<endl;
return 0;
}
void calcCuboid
参数和按值传递
左边和右边是俩块空间,右边空间中也有num.在change空间中num中进行计算,只是改变了change空间中的num,并没有改变main空间中的num
传递的是副本,而不是值
而引用则是&,使用原来的值。
使用数组作为函数参数
在输出 - 打印 的时候注意 指针移动 应使用const 加数组这样就可以防止这个出现恶意修改。
传递数组时,只会传递首地址。。。。所以要定义数组的大小 len
使用二维数组来做参数----相当于将第一维作为指针
函数指针
函数也有地址
- 函数的地址是存储其机器语言代码的内存开始地址
- 好处:可以在不同的时间使用不同的函数
- 有了函数指针之后。你需要什么函数,可以直接传递