C++对返回值的类型有一定限制:不能是数组,但可以是其他任何类型——整数、浮点、指针、结构等等。
虽然C++不能直接返回数组,但可以将数组作为结构或对象的组成部分来返回。
通常,函数通过将返回值复制到指定的CPU寄存器或内存单元中来将其返回,随后调用程序将查看该单元。
返回函数和调用函数必须就该内存单元中存储的数据类型达成一致。
函数原型描述了函数到编译器的接口,它将函数的返回值类型和参数的类型和数量告诉编译器。
在函数原型中,可以不包括变量名。原型中的变量名相当于占位符,因此不必与函数定义中的变量名相同。
形参parameter:全称为"形式参数"是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传如的参数.
实参argument:全称为"实际参数"是在调用时传递个该函数的参数.
形参和实参的类型必须要一致,或者要符合隐含转换规则,当形参和实参不是指针类型时,在该函数运行时,形参和实 参是不同的变量,他们在内存中位于不同的位置,形参将实 参的内容复制一份,在该函数运行结束的时候形参被释放, 而实参内容不会改变.
而如果函数的参数是指针类型变量,在调用该函数的过程 中,传给函数的是实参的地址,在函数体内部使用的也是 实参的地址,即使用的就是实参本身.所以在函数体内部 可以改变实参的值.
举一个很简单的例子:
int f(int b) /*b为形参*/
{ return b;}
main()
{int a=1;
printf("%d",f(a));/*a为实参*/
}
函数对传递过来的参数只读时,应当使用传值。传值时,函数使用的是参数的拷贝。
需要修改参数的值时,应当传地址。