小编Cup*_*fee的帖子

方括号围绕枚举是什么意思?[enum_value]

目前,我正在我的包裹头部周围适当的状态机,我发现这篇文章这似乎是正是我一直在寻找: https://aticleworld.com/state-machine-using-c/ 在理解基于表的状态机表的过程我偶然发现了这段代码,在我看来很难阅读.

所以这就是我能来的:

  • eSystemState是一个typedefed枚举,指示当前状态.

  • eSystemEvent是一个typedefed枚举,指示当前事件.

  • pfEventHandler是一个返回eSystemState的typedefed函数指针.

  • afEventHandler是一个返回eSystemState的函数指针的typedefed二维数组(受"last_State"和"last_Event"限制).

接下来是每种类型事件的一些事件处理程序.然后开始主要,一些初始化,它来了.

之前定义的类型afEventHandler充满了内容,但在那里使用的操作对我来说是一个很大的谜.

我知道,对于每个花括号,一个新的'row'被填充,但是枚举周围的方括号是什么意思,为什么一个人显然可以为这个中的任何内容赋值?

我知道枚举本质上是数字,我怀疑它是一些(对我来说)超级模糊的方式来解决数组中的特定元素.

我错了吗?

 // Table to define valid states and event of finite state machine
 static afEventHandler StateMachine = {
 [Idle_State] ={[Card_Insert_Event]= InsertCardHandler },
 [Card_Inserted_State] ={[Pin_Enter_Event] = EnterPinHandler },
 [Pin_Eentered_State] ={[Option_Selection_Event] = OptionSelectionHandler},
 [Option_Selected_State] ={[Amount_Enter_Event] = EnterAmountHandler},
 [Amount_Entered_State] ={[Amount_Dispatch_Event] = AmountDispatchHandler}, 
 };
Run Code Online (Sandbox Code Playgroud)

c enums brackets

3
推荐指数
1
解决办法
144
查看次数

标签 统计

brackets ×1

c ×1

enums ×1