gpt4 book ai didi

c - 这是对 void 指针的适当使用吗?

转载 作者:行者123 更新时间:2023-12-01 14:23:24 24 4
gpt4 key购买 nike

这个问题是关于在特定实现中使用 void 指针的适当性。

我有一个相对简单的程序,它包含一个无限循环。在每个循环中,程序迭代一个固定范围的常量值,并对每个值调用一个函数。被调用的特定函数可以是三个可用函数之一,并在运行时由参数指定。在无限循环开始之前,有一个条件 block ,它根据提供的参数将函数指针设置为函数。这样,条件逻辑只需运行一次,而不是在每个循环的每次迭代中都运行。

我已经实现了它并且运行良好,但我想在每次调用函数之间保持状态。我的建议是将状态存储在一个结构中,并在对每个值调用函数时传递该结构。问题是每个函数都需要一个不同的结构来存储一组不同的状态值,并且所有三个函数的原型(prototype)必须兼容(对于函数指针)。我打算通过在三个函数的原型(prototype)中使用 void 指针来解决这个问题,从而保持兼容的原型(prototype),但允许我将不同的结构传递给每个函数。

问题是;我的建议是对 void 指针的适当使用,还是引入了过多的运行时动态,因此我应该重新考虑我的方法?

注意:不可能在三个函数中的每一个中都使用静态变量,因为结构也需要在无限循环中可用,因为在迭代值范围之前和之后还需要进行一些处理。

最佳答案

只要您注意保持调用类型正确,这是一种相当符合 C 语言习惯的方式来完成您所描述的内容。

关于c - 这是对 void 指针的适当使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5655784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com