可能是文件范围变量的名称和C中的函数参数。有可能区分吗?

时间:2014-02-07 21:48:41

标签: c

是否可以区分C中的文件范围变量和函数参数,就像在C ++中使用this关键字一样?

我想知道是否有可能以某种方式在C中执行此操作:

.C:

static int X;

void Foo(int X)
{
    //How to do line below?
    fileScopeX = functionParameterX;
}

1 个答案:

答案 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