3

我正在阅读有关链接(外部、内部和无)的 C 参考,并遇到以下内容:

如果在翻译单元内,相同的标识符同时出现在内部和外部链接中,则行为未定义。

我想知道这种未定义的行为是如何发生的。根据我读过的内容,一个变量只能有一个存储类。所以它不能同时static声明extern

那么在什么情况下变量可以同时具有内部和外部链接呢?

4

1 回答 1

1

在这段代码中:

extern int x;
static int x;

第一个声明说x有外部链接,第二个声明说它有内部链接。

于 2020-09-06T02:28:47.540 回答