调用函数的时候,会进行两步。

  1. 形参实例化
  2. 将控制权交给被调函数

调用时,形参实参的个数必须对应,而在此过程中,若类型不同,这将进行类型转换

形参可以不被命名,如果它在函数中不需要被使用,但是不代表程序不应该传入实参与它对应。(虽然并不知道这有什么用)

名字作用域对象生命周期

局部变量在其自身的作用域的时候,会隐藏其外层作用域同名变量。但是在作用域结束之后会,取消隐藏,并且其不变,就好像没有被隐藏过一样。

局部变量生命周期取决于它的定义方式。

自动对象

会在离开作用域之后自动销毁对象

并不是所有的局部变量都是自动对象静态局部变量就不是,因为它出作用域并不会销毁

静态局部变量

使用static修饰词修饰。

在离开作用域时,不会被销毁,只会在程序结束的时候被销毁

函数声明

没有函数体的对函数定义就是函数声明。类似于变量声明形参无需名字。函数声明也被成为函数原型。

函数声明应该都写在头文件中,而非源文件,并且在源文件中引用头文件

参数传递

  1. 值传递:传递的参数是一个拷贝
  2. 引用传递:传递的参数是对原本实参的一个引用