有限状态机(Finite State Machine,FSM)是一种常见的计算模型,被广泛应用于软件开发中。它可以用于描述和实现系统、程序或算法的状态转换逻辑。在本文中,我们将使用C语言来实现一个简单的有限状态机,并展示如何在代码中表示状态和状态转换。
首先,我们需要定义状态和状态转换。在这个例子中,假设我们正在构建一个交通信号灯的控制系统,具有三种状态:红灯(表示停止)、黄灯(表示准备)和绿灯(表示行进)。状态转换是根据不同的条件和事件发生而触发的状态转换动作。例如,当红灯持续一定时间后,系统会触发状态转换,将红灯切换为绿灯。
下面是一个基本的有限状态机的C语言实现:
#include <stdio.h>
// 定义状态枚举
typedef enum</