我已经在 Google 上查了一个小时了。我尝试过使用typdef,但得到了相同的结果。我对结构范围有些困惑。我确信这只是我错过的一些愚蠢的事情。
示例,打印 0:
#include <stdio.h>
struct info
{
int i;
};
struct info testinfo;
int test()
{
testinfo.i = 5;
}
int main()
{
printf("%d", testinfo.i);
}
最佳答案
两个结构信息都具有 block 作用域,因为您将它们声明为局部变量。 因此它们是不同的对象。 在文件范围内仅声明一个(在任何函数之外)。
(有问题的代码已被编辑,此答案指的是最初的错误)。
关于C - 在多个函数中使用结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10939263/