C/C++函数详细
1.函数是由函数名以及一组形参(parameter)类型唯一的表示,每一个函数都有一个相关联的返回类型(return type)。
2.函数的调用做了两件事情:用对应的实参初始化函数的形参,并将控制权转移给被调用的函数。主调函数(calling function)的执行被挂起,被调函数(called function)开始执行。函数的运行以形参的(隐氏)定义和初始化开始。也就是说,当调用函数时,先创建名为形参名的变量,并这些变量初始化为调用函数时传递的实参的值。
3.类似于局部变量,函数的形参为函数提供了已经命名的局部存储空间。它们之间的差别在于形参是在函数的形参表中定义的,并由调用函数时传递给函数的实参初始化。
4.参数传递:每次调用函数时,都会重新创建函数的所有形参,此时传递的实参将会初始化对应的形参。
5.形参的初始化与变量的初始化一样:如果形参具有非引用类型,则复制实参的值;如果形参为引用类型,则它只是实参的别名。
6.非引用形参:表示对应实参的局部副本。对这类形参的修改仅仅改变了局部副本的值。一旦函数执行结束,这些局部变量的值也就没有了。
7.引用形参:与所有引用一样,引用实参直接关联到其所绑定的对象,而并非这些对象的副本。
8.引用:声明一个引用时,必须同时对它进行初始化,使它指向一个已存在的对象。
一旦一个引用被初始化,就不能改为指向其他对象。