1

我想定义一个由 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;
}
4

2 回答 2

8

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

指定要访问的数组成员:

int i = 0;

user_list[i].x = 1;
printf("user_list[i].x is %d",user_list[i].x);
于 2012-05-08T12:11:23.683 回答
1

您必须通过索引访问您的数组。

尝试

user_list[i].x = 1;
printf("user_list[i].x is %d",user_list[i].x);

您的索引在哪里i(之前定义的,或“常量”)

于 2012-05-08T12:13:18.907 回答