首页 > 解决方案 > 枚举周围的方括号是什么意思?[枚举值]

问题描述

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

所以这是我能做到的:

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

之前定义的类型 afEventHandler 填充了内容,但是其中使用的操作对我来说是一个很大的谜。

我知道对于每个大括号,都会填充一个新的“行”,但是枚举周围的方括号是什么意思,为什么一个人显然可以为由此产生的任何东西赋值?

我知道枚举本质上是数字,我怀疑它(对我来说)是一种处理数组中特定元素的超级晦涩的方法。

我错了吗?

 // 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}, 
 };

标签: cenumsbrackets

解决方案


此语法适用于指定的初始化程序。它允许您初始化数组的特定元素。

方括号中的值是要初始化的数组元素的索引。在这种情况下,它是一个枚举值,但它可以是任何整数。


推荐阅读