我想定义一个由struct创建的全局/公共变量。我无法访问main或任何其他函数中的user_list.x或y / z。当我调试下面的代码时,我得到以下错误“请求成员'x'在某个结构或联合的东西中”。如何声明可以从不同函数访问的全局结构变量?谢谢
#include <stdio.h>
#include <stdlib.h>
struct routing {
int x;
int y;
int z;
};
struct routing user_list[40];
int main(int argc,char *argv[])
{
user_list.x = 1;
printf("user_list.x is %d",user_list.x);
return 0;
}
答案 0 :(得分:8)
您使用的是struct
个对象数组,而不是struct
个对象。
指定您要访问的阵列成员:
int i = 0;
user_list[i].x = 1;
printf("user_list[i].x is %d",user_list[i].x);
答案 1 :(得分:1)
您必须通过索引访问您的数组。
尝试
user_list[i].x = 1;
printf("user_list[i].x is %d",user_list[i].x);
i
是您的索引(先前已定义或“常量”)