二维数组初始化的问题.
光棍节圣人 2013-05-06 11:58:22 代码里看到类似下面二维数组声明,怎么理解呢?
state_id transition_table[STATE_MAX][EVENT_MAX] =
{
[STATE_1] = {
[EVENT_1]= STATE_9,
},
[STATE_2] = {
[EVENT_8] = STATE_9,
[EVENT_2] = STATE_1,
[EVENT_9] = STATE_10,
},
。。。
}
typedef enum{
STATE_INVALID = 0,
STATE_1,
STATE_2,
STATE_4,
STATE_5,
STATE_6,
STATE_7,
STATE_8,
STATE_9,
STATE_10,
STATE_MAX /* This must be the last entry. Not valid as state */
} state_id;
typedef enum{
EVENT_INVALID,
EVENT_1,
EVENT_2,
EVENT_3,
EVENT_4,
EVENT_5,
EVENT_6,
EVENT_7,
EVENT_8,
EVENT_MAX
} sm_event_id;