您的位置:首页 > 其它

命名冲突和static修饰符

2007-05-30 20:14 92 查看
两个具有相同名称的外部对象实际代表的是同一个对象(即使用户并非本意)

static修饰符是一个能够减少此类命名冲突的工具,例如:
static int a;其含义与int a;相同,只不过a的作用于被限制在一个源文件内,而对于其他源文件,a是不可见的,如若干个函数需要共享一组外部对象,可以将这些函数放到一个源文件中,把他们需要用到的对象也都放在一个源文件中以static修饰,当然,static也运用于函数,如果函数f需要调用另一个函数g,而且只有函数f需要调用函数g,我们可以把函数f和函数g都放在一个源文件中,并且声明g为static函数

static int g(int x)
{
/*函数体*/
}

void f()
{
/*其他内容*/
b=g(a);
}
我们还可以在多个源文件中定义同名的函数g,只要所有的函数都被定义为static,或者仅仅只有其中一个函数g不为static,同此,为了避免可能出现的命名冲突。如果函数仅仅被同一个源文件中的其他函数调用,就声明为static
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: