📜  如何在 C++ 中在范围内定义全局数组 - C++ (1)

📅  最后修改于: 2023-12-03 14:52:15.165000             🧑  作者: Mango

如何在 C++ 中在范围内定义全局数组 - C++

在 C++ 中,定义全局数组是一种在程序的任何地方都可以访问的数组变量。在范围内定义全局数组意味着它的作用域仅限于当前文件。

方法一:使用 extern 关键字声明全局数组

通过在一个文件中使用 extern 关键字来声明全局数组,然后在另一个文件中定义该数组,可以实现在范围内定义全局数组。

示例代码

file1.cpp

extern int globalArray[5]; // 声明全局数组

int main() {
    // 使用全局数组
    for(int i = 0; i < 5; i++) {
        globalArray[i] = i + 1;
    }
    return 0;
}

file2.cpp

int globalArray[5]; // 定义全局数组

int main() {
    // 使用全局数组
    for(int i = 0; i < 5; i++) {
        cout << globalArray[i] << " ";
    }
    return 0;
}
注意事项
  • 使用 extern 关键字声明全局数组后,可以在多个文件中访问和修改该全局数组。
  • extern 关键字告诉编译器,全局数组是在其他文件中定义的,而不是在当前文件中定义。因此,确保在另一个文件中正确定义全局数组。
方法二:使用 namespace 在范围内定义全局数组

通过使用 namespace 关键字,在一个命名空间内定义全局数组,可以实现在范围内定义全局数组。

示例代码

file.cpp

namespace Global {
    int globalArray[5]; // 在命名空间内定义全局数组
}

int main() {
    // 使用全局数组
    for(int i = 0; i < 5; i++) {
        Global::globalArray[i] = i + 1;
    }
    return 0;
}
注意事项
  • 使用 namespace 关键字定义全局数组后,需要在使用该全局数组时指定命名空间,在前面添加命名空间名称(例如 Global::globalArray)。
  • 命名空间可以帮助组织代码,避免全局命名冲突。
方法三:使用 static 关键字在范围内定义全局数组

通过使用 static 关键字在一个文件的作用域内定义全局数组,可以实现在范围内定义全局数组。

示例代码

file.cpp

static int globalArray[5]; // 在文件作用域内定义全局数组

int main() {
    // 使用全局数组
    for(int i = 0; i < 5; i++) {
        globalArray[i] = i + 1;
    }
    return 0;
}
注意事项
  • 使用 static 关键字定义全局数组后,只能在当前文件中访问该全局数组。其他文件无法访问该全局数组。
  • static 关键字可以限制全局变量的作用域,避免与其他文件中的全局变量冲突。

以上是在 C++ 中在范围内定义全局数组的三种方法。根据实际需求,选择适合的方法来定义全局数组。