gpt4 book ai didi

c - 如何在 C 中声明尚未定义的静态变量

转载 作者:太空宇宙 更新时间:2023-11-04 07:16:43 25 4
gpt4 key购买 nike

如何在定义之前声明静态变量?用例是在定义之前有其他全局变量正在使用它。而且我不想将定义移至顶部。

示例代码:

extern static int a; //compiler error, but I need to declare 'a' because it is used below by 'x'

typedef struct{
int * dd;
}X;

static X x={&a}; //this variable needs to use 'a'

static int a=5; //this is where 'a' defined

以上代码编译错误

===更新====

好吧,我自己找到了解决方案。只需删除 extern 关键字即可。

最佳答案

您正在尝试使用两个 storage classes一次。那是有问题的。使用 static int a;,您可以在您的文件中访问它,只需确保您在使用它的代码之上定义它。

关于c - 如何在 C 中声明尚未定义的静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24028763/

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