#include <stdio.h>
void func();
int main()
{
static int b = 20;
func();
}
void func()
{
static int b;
printf("%d", b);
}
输出:0
在声明第二个静态变量时是否创建了新的内存位置?
答案 0 :(得分:4)
是的。您的每个b
变量都是声明它们的函数的私有变量。
答案 1 :(得分:1)
在声明第二个静态变量时是否创建了新的内存位置?
是。
b
和main
中的变量func
虽然名称相同,但它们都不同。 static
关键字仅更改变量的生命周期而非其可见性。
答案 2 :(得分:1)
b
中的{p> func
和b
中的main
是两个不同的变量,它们不相关,它们的范围在它们所在的每个函数中。
答案 3 :(得分:1)
在函数中声明变量时
编译器首先查看当前函数中的局部变量
然后如果找不到它寻找全局变量
答案 4 :(得分:1)
答案 5 :(得分:1)
“b”变量私有,因为它们用于“function”。唯一的全局变量可以使用一次,但您可以使用相同的本地变量无限次。 例- 在此示例中,我声明全局变量和私有变量
#include <iostream>
using namespace std;
int second() ;
int main()
{
char number;
cout << "Please input a value\n";
cin >> number;
cout << " You selected: " << number;
second(); // This should work in a C program, how do I do it in C++
system("PAUSE");
return 0;
}
int second();
{
char number;
cout << "Please select another value...";
cin >> number;
cout << "You selected: " << number;
}