【发布时间】:2010-04-12 21:09:00
【问题描述】:
我正在开发一个具有不同输出功能(数字输出、串行、模拟等)的嵌入式系统。我正在尝试找出一种干净的方法来传递许多将控制这些函数的变量。
我不需要太频繁地传递它们,但我希望有一个函数可以读取输入数据(在这种情况下来自 TCP 网络),然后解析数据(IE,第 3 byte 包含 8 个数字输出的状态(根据该字节中的哪个位是高或低)),并将其放入一个变量中,然后我可以在程序的其他地方使用。
我希望该函数与 main() 函数分开,但这样做需要将指针传递给它要写入的大约 20 个变量。我知道我可以使变量成为全局变量,但我试图通过将函数传递给函数来使函数被允许编辑该变量时变得明显,从而使调试变得更容易。
我最好的想法是一个结构,只需传递一个指向它的指针,但不确定是否有更有效的方法,特别是因为实际上只有一个函数需要一次访问所有它们,而大多数其他人只需要将存储在这组状态变量中的部分信息。
那么无论如何,有没有一种简洁的方法可以一次在函数之间发送许多需要编辑的变量?
【问题讨论】:
-
你知道
struct,对吧?
标签: c function argument-passing