文件作用域和全局作用域的区别

2022-01-04 00:00:00 c scope c++ global-scope

我是一名学生,我对 C 和 C++ 中的全局和文件范围变量感到困惑.两种观点有什么不同吗?如果是,请详细说明.

I am a student and I am confused about global and file scope variables in C and C++. Is there any difference in both perspectives? If yes, please explain in detail.

推荐答案

具有文件作用域的变量可以被单个文件中的任何函数或块访问.要声明文件范围的变量,只需在块外声明一个变量(与全局变量相同),但使用 static 关键字.

A variable with file scope can be accessed by any function or block within a single file. To declare a file scoped variable, simply declare a variable outside of a block (same as a global variable) but use the static keyword.

static int nValue; // file scoped variable
float fValue; // global variable

int main()
{
    double dValue; // local variable
}

文件作用域变量的作用与全局变量完全一样,只是它们的使用仅限于声明它们的文件.

File scoped variables act exactly like global variables, except their use is restricted to the file in which they are declared.

相关文章