首页 > 解决方案 > 如何初始化指向结构数组的指针

问题描述

#define X 10
#define Y 10

我的结构:

typedef struct Reservation {
    char NAME[10];
    int ID;
    int N;
    int RESERVE;
    int POSX;
    int POSY;
} Reservation;

我的变量声明:

struct Reservation* s[X][Y];

我正在寻找一种方法来初始化我的变量。

标签: arrayscpointersstruct

解决方案


它不是指向结构数组的指针。它是指向 struct 的数组 od 指针。

#define X 2
#define Y 2

typedef struct Reservation {
    char NAME[10];
    int ID;
    int N;
    int RESERVE;
    int POSX;
    int POSY;
} Reservation;

struct Reservation s1,s2,s3,s4;

struct Reservation a[X][Y] = {{{0,},{0,}},{{0,},{0,}}};

// array of pointers to struct
struct Reservation *s[X][Y] = {&s1, &s2, &s3, &s4};

// pointer to array of structs
struct Reservation (*sa)[X][Y] = &a;

推荐阅读