C++中的局部变量和全局变量是什么?
作用域是程序的一个区域,广义上来说,变量可以在三个地方声明:
- 在一个函数或代码块内部,这称为局部变量;
- 在函数参数定义中,这称为形式参数;
- 在所有函数外部,这称为全局变量;
局部变量只能被函数或代码块内部的语句使用。局部变量对于函数本身来说是未知的。
示例
#include <iostream>
using namespace std;
int main () {
// Local variable declaration:
int a, b;
int c;
// actual initialization
a = 10;
b = 20;
c = a + b;
cout << c;
return 0;
}输出
这将输出:
30
全局变量定义在所有函数之外,通常在程序的顶部。全局变量将在程序的整个生命周期中保持其值。任何函数都可以访问全局变量。
示例
#include <iostream>
using namespace std;
// Global variable declaration:
int g;
int main () {
// Local variable declaration:
int a, b;
// actual initialization
a = 10;
b = 20;
g = a + b;
cout << g;
return 0;
}输出
这将输出:
30
程序可以为局部变量和全局变量使用相同的名称,但是函数内部局部变量的值将优先。要访问具有相同名称的全局变量,必须使用作用域解析运算符。
示例
#include <iostream>
using namespace std;
// Global variable declaration:
int g = 20;
int main () {
// Local variable declaration:
int g = 10;
cout << g; // Local
cout << ::g; // Global
return 0;
}输出
这将输出:
10 20
广告
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP