首页 理论教育 C++语言全局变量、局部变量

C++语言全局变量、局部变量

时间:2023-08-13 理论教育 版权反馈
【摘要】:全局变量是指在程序开头部分声明的变量,局部变量是指在函数体内说明的变量。函数的局部量和形式参数,其作用域仅限于该函数内部,不能在函数以外使用,这就是常说的函数执行结束后局部量和参数就消失了。全局变量的作用域分两种情况:当全局变量和局部变量不同名时,其作用域是整个程序范围。t是局部变量,只能在swap中使用;不能用在主程序中。运行结果如下:在例7-8中,既定义了全局变量,也定义了同名的局部变量。

C++语言全局变量、局部变量

全局变量是指在程序开头部分声明的变量,局部变量是指在函数体内说明的变量。在程序中,全局变量和局部变量的作用域不一样。

局部变量的作用域指它所在的函数,由于形式参数也只在函数中有效,也属于局部变量。函数的局部量和形式参数,其作用域仅限于该函数内部,不能在函数以外使用,这就是常说的函数执行结束后局部量和参数就消失了。

全局变量的作用域分两种情况:

(1)当全局变量和局部变量不同名时,其作用域是整个程序范围。

(2)当全局变量和局部变量同名时,全局变量的作用域不包含局部变量的作用域。

例7-7 全局变量的作用域。

程序代码如下:

运行结果如下。(www.xing528.com)

输出:

以上就是利用无参函数swap(),完成变量a和b交换值的程序,它并没有使用变量参数,而是通过全局变量a和b将过程的值传回主程序的。t是局部变量,只能在swap中使用;不能用在主程序中。

下面的程序展示了全局变量与局部变量同名的情况。

例7-8 写出以下两个程序的运行结果并加以比较。

运行结果如下:

在例7-8中,既定义了全局变量,也定义了同名的局部变量。于是全局变量x的作用域就不同了。程序中的全局变量x的作用域除了abc2外,在其他地方都起作用。abc2中由于再次定义了变量x,因此,abc2中的局部变量x的作用域覆盖了全局变量x的作用域。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈