C++形式参数和实际参数
主调函数和被调函数之间是有数据传递关系的,在调用函数时,函数是带参数的,参数分为形式参数和实际参数
- 形式参数是在定义函数时,函数名后面括号中的变量名。
- 实际参数则是在主调函数中调用一个函数时,函数名后面括号中的参数。
形式参数和实际参数有什么区别呢?
- 实参可以是变量、常量或表达式。
- 在定义函数时,需要在函数首部指定形参的类型。
- 实参与形参的类型应相同或赋值兼容。
- 在调用函数时,编译系统会临时给形参分配存储单元。
- 实参变量对形参变量的数据传递时值传递,也就是单向传递,只能由实参传给形参,无法逆序传输。
- 在定义函数指定的形参,如果函数未调用,形参时不占内存中的存储单元,只有在函数调用发生时,形参才被分配存储单元,调用结束后,存储单元也会被释放。
C++函数的返回值
在C++中,函数的返回值是通过函数中的return语句获得,return语句将被调函数中的一个确定值带回主调函数中。
- return语句后面的括号可以省略。
- return语句后面的值也可以是表达式。
在定义函数时就指定函数值的类型,因为函数有返回值,这个值就应该属于某一个确定的类型。
如果函数值的类型和return语句中的表达式的值不一致,那么以函数类型为准,对数值型数据,可以自动进行类型转换。
经典案例:C++实现比较两个数大小,要求使用函数。
#include<iostream>//头文件 | |
using namespace std;//命名空间 | |
extern int CompareSize(int num_1,int num_2);//函数声明 | |
int main() //主函数 | |
{ | |
int num_1,num_2,max;//定义变量 | |
cout<<"请输入两个数:"; | |
cin>>num_1>>num_2; | |
max=CompareSize(num_1,num_2);//调用自己写的比较大小的函数 | |
cout<<"较大的数是:"<<max<<endl; | |
return 0;//主函数返回值为0 | |
} | |
int CompareSize(int num_1,int num_2)//函数定义 | |
{ | |
int temp;//定义中间变量 | |
if(num_1>num_2)//把两个数中的较大赋给temp | |
{ | |
temp=num_1; | |
} | |
else | |
{ | |
temp=num_2; | |
} | |
return temp;//把较大的数返回到调用函数处 | |
} |
执行本程序之后,会输出:
请输入两个数:5 8 | |
大数时:8 | |
-------------------------------- | |
Process exited after 4.155 seconds with return value 0 | |
请按任意键继续. . . |
更多案例可以go公众号:C语言入门到精通
正文完