首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我应该在main函数内部还是外部声明一个变量?

我应该在main函数内部还是外部声明一个变量?
EN

Stack Overflow用户
提问于 2016-04-08 00:43:14
回答 2查看 25.3K关注 0票数 4

在C++中,建议先在主程序内部或外部声明全局变量,然后再进行其他操作?我是说,这两者的区别是什么

代码语言:javascript
运行
复制
#include <iostream>

int variable;

int main()
{    //my program
     return 0;
}

代码语言:javascript
运行
复制
#include <iostream>

int main()
{
     int variable;
     //my program
     return 0;
}

在哪种情况下,我应该使用哪一个?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-08 00:46:43

在第一种情况下,可以从文件中的所有其他函数访问variable (即它具有全局作用域),而在第二种情况下,它只能从main中访问。通常,最好将使用的全局变量的数量保持在绝对最小,以避免污染变量空间(以及其他几个原因)。

示例:

本地到主网络,

代码语言:javascript
运行
复制
int main(void) {
    int v;
    foo();
    return 0;
}

void foo() {
    v = 5; // compiler error: v not declared in this scope
}

全局的,

代码语言:javascript
运行
复制
int v;
int main(void) {
    foo();
    return 0;
}

void foo() {
    v = 5;   // compiles, v declared globally
}
票数 13
EN

Stack Overflow用户

发布于 2016-04-08 00:47:51

第一种情况下的variable是一个全局变量。它可以从main()以外的函数访问;保证在程序执行之前一直有效;并且在第一次使用前设置为0。

在第二个示例中,variable是一个函数局部变量。除非由程序员设置,否则它不会被初始化为任何内容,只能在main()内访问,并且在main()终止之前将被清除。最后一点对于main()来说并不是特别重要,但对于其他函数来说却要重要得多。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36482383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档