wtws 发表于 2018-8-3 14:59:31

在Codesys中如何实现C语言函数指针数组的功能?

本帖最后由 wtws 于 2018-8-3 15:02 编辑

系统有几十个状态,每个状态需要不同的处理函数,
如果用 if_else 太过冗长,用 case 也很累赘并且会影响执行效率。
本想用类似C语言中的指针数组来实现,结果函数指针定义无效:
data:image/png;base64,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

大家有什么好办法吗?

13256598922 发表于 2020-3-9 08:42:35

大佬问题解决了吗?别人说有复位数组的功能块但是没找到   我想自己写一个   也不知道怎么写 这里的数组[]里好像不能写变量 不知道有什么办法:$
页: [1]
查看完整版本: 在Codesys中如何实现C语言函数指针数组的功能?