gpt4 book ai didi

可以在另一个文件中使用 extern 访问静态声明的全局变量吗?

转载 作者:太空狗 更新时间:2023-10-29 15:11:01 24 4
gpt4 key购买 nike

我怀疑我是否用静态声明了全局变量。

文件1.c

static int a=5;

main()
{
func();
}

可以使用 extern 在另一个 file2.c 中访问它吗?

文件2.c

func()
{
extern int a;
printf(a);
}

或者只能使用 extern 访问没有声明为 static 的全局变量?

最佳答案

不!
static 将变量的范围限制为相同的 translation unit .
static 给变量一个 Internal Linkage 并且无法在创建翻译单元之外访问此变量。

如果您需要跨不同文件访问变量,只需删除 static 关键字即可。

关于可以在另一个文件中使用 extern 访问静态声明的全局变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13227986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com