我想知道在任何情况下是否会产生任何不良影响。
例如:
Ex1:
void* func1()
{
void* p_ref = NULL;
//function scope static variable
static int var1 = 2;
p_ref = &var1;
return p_ref;
}
Ex2:
//file scope static variable
static int var2 = 2;
void* func2()
{
void* p_ref = NULL;
var2 = 3;
p_ref = &var2;
return p_ref;
}
因此,在上述两种情况下,除了var1是函数作用域而var2是文件作用域之外,有什么区别。
提前致谢。
答案 0 :(得分:2)
我不相信有任何区别。它们都是全局变量,只是第一个的名称只在函数func1的范围内可见。
答案 1 :(得分:2)
除了范围之外基本上没有区别。
因此,如果指针是局部变量,则更可取 将成为访问变量的唯一方法。