1

構造体によって作成されるグローバル/パブリック変数を定義したいと思います。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 に答える