如何在C中定义全局"struct"变量

joh*_*han 1 c struct global

我想定义一个由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;
}
Run Code Online (Sandbox Code Playgroud)

oua*_*uah 8

您使用的是struct对象数组而不是struct对象.

指定要访问的阵列成员:

int i = 0;

user_list[i].x = 1;
printf("user_list[i].x is %d",user_list[i].x);
Run Code Online (Sandbox Code Playgroud)