![](/img/trans.png)
[英]class using global extern const variable which is defined with internal linkage
[英]Extern variable declaration does not have internal linkage
我问这个问题,从一个跟进这个职位。 他们说extern
块声明具有外部链接,而没有内部链接,但是我不确定为什么:
static int i = 0; // #1
void g() {
extern int i; // #3 external linkage
}
为什么extern声明不采用i
的链接(内部链接)? 帖子中的报价似乎允许这样做。 在OP引用后的示例中,它具有:
static void f();
void g() {
extern void f(); // internal linkage
// ...
}
它说extern声明具有内部链接。 为什么使用变量和函数会有区别?
因为变量“ i”具有静态存储。 因此,就您的摘录而言,
此外,您可能会发现此讨论很有趣: 了解C中的静态存储类
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.