如何intVariable = *(int*) &floatVariable
直接从函数中获得效果,而不必先将函数的输出保存到虚拟变量中?
IE
float functionWithFloatTypedReturn(int input) {
[enter code here]
return serialStringStruct.floatRetVal;
}
...
intVariable = [desired code] functionWithFloatTypedReturn(commandCode);
背景:我有一个从别人的硬件给出的串行响应中读取的函数。遗留代码和对语言能力的好奇心促使人们继续使用单一功能。如果函数返回数值“1”,它可以是 0x3f800000 或 0x1,具体取决于函数的输入(它决定了向硬件提供的命令)。来自硬件的串行字符串通过调用 memcpy 独立于类型分解为结构。