3.9 参数和变量的局部性

最后更新于:2022-04-01 06:19:18

参数和变量只存在于它们所在的函数内部。在main函数内部,没有phil这个东西存在。如果你想使用这个变量,编译器会报错。同样的,在printTwice内部,也没有argument这个变量。 类似这样的变量被称为局部变量。为了跟踪参数和局部变量,画一张**栈图**还是很有用的。像状态图一样,栈图展示出每个变量的值,然而变量都包含在大方框里,大方框表示变量所属的函数。 例如,printTwice的栈图如下: ![enter image description here](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-09-01_55e55b124a8dd.jpg) 每当函数被调用,就会创建此函数的一个实例。函数的每个实例都包含自己的参数和局部变量。上图中外面带函数名的方框代表函数实例,方框里面是函数的参数和局部变量。 此例中,main函数有一个局部变量argument,没有参数。printTwice没有局部变量,有一个参数phil。
';