Module: (C++) 子例程:过程和函数 - 1


Problem

9 /12


局部和全局变量

Theory Click to read/hide

局部和全局变量
通常需要使用仅在子程序中使用的附加变量。此类变量称为本地(或本地),只能在创建它们的子例程内进行操作。
 
Local variable scope 是声明它的花括号块

C++中的主程序也是一个子程序,所以在main()中声明的所有变量都是局部变量。
其他子程序对其他子程序的局部变量一无所知。

因此,可以将变量的作用域(scope)限制在真正需要它的子程序中。在编程中,这种技术称为封装  - 隐藏变量不被外部更改。

如果有必要声明一个在程序中任何地方(在任何子程序中)都可见的变量,则此类变量在所有子程序之外声明(参见下表中的程序 3)。
此类变量称为全局

在C++中,当程序启动时,所有全局变量都会自动设置为零(布尔变量取值false)。


分析三个程序: <正文> 显示在屏幕上

Problem

使用 n 参数编写一个过程,显示一棵树冠高度为 n 的圣诞树。
主程序必须包含变量n的值的输入和过程的调用。
 
 
例子
1) 在这个程序中,变量 i 是局部变量。在子程序中声明局部变量 2) 这里即使主程序中有变量i(值为7),也会新建一个值为5的局部变量i。 
当你运行这个程序时,屏幕会显示值75
3) 这个程序有一个全局变量i。它的值可以在子程序和主程序中改变
该过程将使用全局变量 i 并为其分配一个等于 2 的新值。值 2
无效测试() {  诠释我= 5; 输出 <<我; } 无效测试() {  诠释我= 5;  输出 <<我; } 主要的() { 诠释我= 7;  输出 <<我;  测试(); } #include ; 使用命名空间标准; 诠释我; 无效测试() {  我 = 2; } 主要的() { 测试(); 输出 <<我; }
<头> <日># <正文>
输入 输出
1 5 <前>     o    哦  呜呜呜  呜呜呜 呜呜呜