我应该在主函数内部还是外部声明一个变量?
Should I declare a variable inside or outside the main function?
在 C++ 中,建议先在主程序内部或外部声明全局变量,然后再进行其他操作?我的意思是
有什么区别
#include <iostream>
int variable;
int main()
{ //my program
return 0;
}
和
#include <iostream>
int main()
{
int variable;
//my program
return 0;
}
在什么情况下我应该使用哪一个?
在第一种情况下,variable
可以从文件中的所有其他函数访问(即它具有全局范围),而在第二种情况下,它只能从 main
内部访问。通常,最好将您使用的全局变量的数量保持在绝对最小值,以避免污染变量 space(还有其他几个原因)。
示例:
本地到主,
int main(void) {
int v;
foo();
return 0;
}
void foo() {
v = 5; // compiler error: v not declared in this scope
}
全球,
int v;
int main(void) {
foo();
return 0;
}
void foo() {
v = 5; // compiles, v declared globally
}
variable
在第一种情况下是一个 全局变量 。它可以从 main()
以外的函数访问,包括 main()
;保证在程序执行之前一直有效;并在首次使用前设置为 0。
在第二个例子中,variable
是一个函数局部变量。除非由程序员设置,否则它不会被初始化为任何东西,只能在 main()
内访问,并且会在 main()
终止之前被删除。最后一点对于 main()
来说并不是特别重要,但对于其他功能来说更为重要。
在 C++ 中,建议先在主程序内部或外部声明全局变量,然后再进行其他操作?我的意思是
有什么区别#include <iostream>
int variable;
int main()
{ //my program
return 0;
}
和
#include <iostream>
int main()
{
int variable;
//my program
return 0;
}
在什么情况下我应该使用哪一个?
在第一种情况下,variable
可以从文件中的所有其他函数访问(即它具有全局范围),而在第二种情况下,它只能从 main
内部访问。通常,最好将您使用的全局变量的数量保持在绝对最小值,以避免污染变量 space(还有其他几个原因)。
示例:
本地到主,
int main(void) {
int v;
foo();
return 0;
}
void foo() {
v = 5; // compiler error: v not declared in this scope
}
全球,
int v;
int main(void) {
foo();
return 0;
}
void foo() {
v = 5; // compiles, v declared globally
}
variable
在第一种情况下是一个 全局变量 。它可以从 main()
以外的函数访问,包括 main()
;保证在程序执行之前一直有效;并在首次使用前设置为 0。
在第二个例子中,variable
是一个函数局部变量。除非由程序员设置,否则它不会被初始化为任何东西,只能在 main()
内访问,并且会在 main()
终止之前被删除。最后一点对于 main()
来说并不是特别重要,但对于其他功能来说更为重要。