![d8c3fb63d77809cbfb98fa27178f1a9d.png](https://i-blog.csdnimg.cn/blog_migrate/c9af50b83e3b10ac73af7bfe8475dd20.jpeg)
C++局部变量
C++局部变量是指:在一个函数内部定义的变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它,在此函数以外是不能使用这些变量的。
同样,在复合语句中定义的变量只在本复合语句范围内有效,如下就是局部变量:
#include<iostream>//头文件
using namespace std;//命名空间
int main() //主函数
{
int local_Variable;//这就是局部变量
}
- 主函数不能使用其他函数中定义的变量。
- 不同函数中可以使用同名的变量,它们代表不同 的对象,互不干扰。
- 可以在一个函数内的复合语句中定义变量,这些变量只在本复合语句中有效。
- 形式参数也是局部变量。
- 在函数声明中出现的参数名,其作用范围只在本行的括号内。
- 主函数main中定义的local_Variable就是局部变量,只在主函数中有效,不会因为在主函数中定义而在整个文件或程序中有效。
C++全局变量
C++全局变量:是指在函数之外定义的变量,如下:
#include<iostream>//头文件
using namespace std;//命名空间
int global_Variable;//我是全局变量
int main() //主函数
{
}
建议读者尽量不要使用全局变量,原因有以下几点
- 全局变量在程序的全部执行过程中都占用存储单 元,而不是仅在需要时才开辟单元。
- 它使函数的通用性降低了,因为在执行函数时要 受到外部变量的影响。
- 使用全局变量过多,会降低程序的清晰性。
读者需要了解一点:如果在同一个源文件中,全局变量与局部变量 同名,则在局部变量的作用范围内,全局变量被屏 蔽,即它不起作用,设全局变量的作用是增加函数间数据联系的渠道。
变量的有效范围称为变量的作用域,归纳起来,变量有4种不同的作用域
- 文件作用域
- 函数作用域
- 块作用域
- 函数原型作用域
文件作用域是全局的,其他三者是局部的,除了变量之外,任何以标识符代表的实体都有作用域,概念与变量的作用域相似。
经典案例:C++输出局部与全局变量。
源码分析:
#include<iostream>//头文件
using namespace std;//命名空间
int global_Variable=10;//定义全局变量
int main() //主函数
{
cout<<"全局变量的值:"<<global_Variable<<endl;
int local_Variable; //定义局部变量
local_Variable=5;//赋初值
cout<<"局部变量的值:"<<local_Variable<<endl;
cout<<"-----------------"<<endl;
int global_Variable=20;//定义变量且赋初值
cout<<"此刻global_Variable的值是:"<<global_Variable<<endl;
return 0;//函数返回值为0
}
编译后的结果:
全局变量的值:10
局部变量的值:5
-----------------
此刻global_Variable的值是:20
--------------------------------
Process exited after 0.06561 seconds with return value 0
请按任意键继续. . .
![81ba8833e048f986312b8197203385bc.png](https://i-blog.csdnimg.cn/blog_migrate/63582b0cddfe91ae0c783167ed20516f.png)