奇怪的结构声明

0 c arrays lookup struct const

我熟悉C语言中的结构和数组,但是我不知道下面代码中发生了什么.结构声明的顺序通常是:

struct employee {
  char title;
  int year;
} mark;
Run Code Online (Sandbox Code Playgroud)

为什么在struct(下面)和[]括号之后有2个单词?据我所知,它被用作条件,动作查找表.

const struct act_tbl ActionTbl[] =
{
    {0, BUZZ | DISP | A_ONCE},
    {0, BUZZ | DISP | A_ONCE},
};
Run Code Online (Sandbox Code Playgroud)

tem*_*def 5

代码的第一部分,

struct employee {
  char title;
  int year;
} mark;
Run Code Online (Sandbox Code Playgroud)

表示"定义一个名为employee的结构,然后创建一个名为employee的实例mark".它相当于更冗长

struct employee {
  char title;
  int year;
};
struct employee mark;
Run Code Online (Sandbox Code Playgroud)

代码的第二部分,

const struct act_tbl ActionTbl[]={    {0, BUZZ|  DISP|  A_ONCE},
                                          {0, BUZZ|  DISP|  A_ONCE},
Run Code Online (Sandbox Code Playgroud)

};

意味着"创建一个类型的对象数组,struct act_tbl其中第一个act_tbl被初始化为{0, BUZZ| DISP| A_ONCE},第二个被初始化{0, BUZZ| DISP| A_ONCE}为." act_tbl但是,如果没有更多关于什么的知识,我认为我不能提供更多关于它为什么以它的方式编写的建议.