C++全局变量 | C++中全局变量定义示例 19
本文是C++全局变量使用教程,在C++中,全局变量被定义为可以从整个程序中的任何地方使用或访问的变量,这是任何编程语言中的作用域类型之一。其中全局变量范围是程序代码的范围,在该范围内通常可以访问或定义或声明或使用变量,全局变量被定义为允许由程序的任何部分使用而没有任何限制或错误的变量,并且可用于程序的任何部分或贯穿整个程序,但它们通常可以在程序的顶部或开头声明或定义。
C++中全局变量的处理
在本文中,我们将讨论C++中的一个全局变量。在C++中有一个概念称为程序中的变量作用域,它表示程序中的函数或程序块中的变量的可访问性。因此,在C++中有两种类型的范围变量,例如局部变量,它们是在程序块或函数中声明的变量,并且仅可用于程序的这些块和函数。另一种类型的范围变量是全局变量,其是在程序的开始或顶部声明或定义的变量,并且可用于整个程序,使得可以通过程序的任何部分来访问它们。因此,一般来说,这意味着全局变量可以在程序的顶部定义,并且可以由引用该全局变量的程序中的任何函数(包括main)或块查看和修改。
C++全局变量示例
让我们在下面的例子中看看如何在C++程序中定义和声明这样的全局变量。
例#1
代码:
#include <iostream>
using namespace std;
float g = 20;
int main () {
std::cout<<"A simple program for demonstrating global variables in C++"<<endl;
std::cout<<"\n"<<endl;
float p;
p = 10;
std::cout << "The value of the local variable p is " << p <<endl;
g++;
std::cout<<"\n"<<endl;
std::cout << "The value of the global variable g is " <<g <<endl;
return 0;
}
输出:
在上面的程序中,我们可以看到我们在main()函数外声明并定义了值为20的全局变量“G”,在程序内声明并定义了值为10的局部变量“p”。因此,当我们打印局部变量时,我们可以看到我们可以在函数中打印或使用它,但全局变量值甚至可以在函数中修改,其中在上面的代码中,我们将G值递增1。因此,全局变量值的输出将为“21”。
在C++中,根据变量的存储类,将变量分类为全局、局部、静态等。在所有函数和块之外但在程序内部定义的变量称为全局变量。在C++中,可能会出现c++全局变量和局部变量重名的情况,这会使编译器引发异常,但如果在不同的范围内,则编译器将打印局部变量名称的值,因为它优先考虑局部变量而不是全局变量。
为了访问与局部变量同名的全局变量,C++提供了一个名为范围解析操作符(:)的操作符。因此,为了理解这一点,我们将考虑下面一个简单的例子。
例#2
代码:
#include<iostream>
using namespace std;
float g = 5.8;
int main()
{
float g = 9.3;
cout << "This program uses scope resolution operator to access global variable value " << endl;
cout <<"\n" <<endl;
cout << "The value stored in the global variable g is " << g <<endl;
cout <<"\n" << endl;
cout<< "The value stored in the local variable g is " << g <<endl;
return 0;
}
输出:
在上面的程序中,我们可以看到我们有与“G”同名的全局变量和局部变量,但当我们尝试打印这两个值时,它将只为这两个值打印“9.3”,因为编译器将更优先考虑局部变量而不是全局变量。因此,在上面的屏幕截图中,只有当我们同时打印全局和局部变量值时,输出才为9.3。因此,要打印全局变量值,我们需要使用范围解析操作符,上面的代码将被修改为内联11,其中当我们打印G值时,我们必须将其写为:G,以访问作为全局变量的G值,我们可以在下面看到修改后的代码和显示全局和局部变量值的输出。
代码:
#include<iostream>
using namespace std;
float g = 5.8;
int main()
{
float g = 9.3;
cout << "This program uses scope resolution operator to access global variable value " << endl;
cout <<"\n" <<endl;
cout << "The value stored in the global variable g is " << ::g <<endl;
cout <<"\n" << endl;
cout<< "The value stored in the local variable g is " << g <<endl;
return 0;
}
输出:
在上面的程序中,我们可以看到,在保存“5.8”值的main()函数之前,我们在程序的顶部将G声明为全局变量。我们在main()函数中声明了局部变量G,它的值为“9.3”。在上面的屏幕截图中,我们可以看到,我们能够使用第11行中的范围解析操作符(:)和第13行中的局部变量来打印全局变量的值。
结论
在本文中,我们学习了C++全局变量,我们得出结论,C++中的全局变量是在程序顶部定义和声明的变量,与局部变量相比,它甚至可以在函数或块中用于整个程序。本文通过一个简单的示例介绍了如何声明全局变量并在程序中使用它们。在这里,我们还看到,如果变量的名称存在歧义,即局部变量和全局变量具有相同的名称,则可以使用上述文章中的示例中的范围解析操作符来访问全局变量。
推荐文章
这是一个关于C++全局变量的指南。在这里,我们将讨论C++中全局变量的工作方式,以及不同的示例及其代码实现。您还可以查看以下文章以了解更多信息–
常见问题FAQ
- 程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
- 请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!