是否可以区分C中的文件范围变量和函数参数,就像在C ++中使用this关键字一样?
我想知道是否有可能以某种方式在C中执行此操作:
.C:
static int X;
void Foo(int X)
{
//How to do line below?
fileScopeX = functionParameterX;
}
答案 0 :(得分:2)
有一个令人讨厌的伎俩:
void Foo(int x)
{
int y;
{
extern int x;
y = x; /* This refers to the x from the outside. */
}
}
我刚注意到外部x是static
。在这种情况下,编译器将不允许内部extern int x
。