c语言状态机设计模式