一变量名多属性

One variable name with multiple attribution

我想编写一个从 modbus 设备读取特定传感器值的函数。 要读取传感器值,我需要设备地址和寄存器号。 我需要一个解决方案来将这两个属性存储在一个名称下。 示例:

TEMPSENSOR_1 = deviceAddress = 0x09, registerNum = 0 
sensorRead(TEMPSENSOR_1){ 
get the two attribution by name
modbusRequest(deviceAddress, registerNum ....);
}

当我创建一个 modbusRequest 时,需要 deviceAddress 和 registerNum 作为名称 TEMPSENSOR_1。

我该怎么做?

如果您的代码是用 C++ 编写的(不是 C):

我认为您需要使用 header <utility> 中的 std::pair 来做到这一点。

https://en.cppreference.com/w/cpp/utility/pair

这允许您在同一个 object 中存储两个值。但请确保这两个值彼此密切相关。如果不是,请不要使用它,并重构您的代码。


如果您的代码是用 C 编写的:

我想你想使用一个 struct 来存储两个值。

https://www.tutorialspoint.com/cprogramming/c_structures.htm

这允许您在同一个 object 中存储两个值。但请确保这两个值彼此密切相关。如果不是,请不要使用它,并重构您的代码。

您需要更多信息吗?