作者:手机用户2502939333 | 来源:互联网 | 2023-09-25 09:32
我有一个具有以下原型的函数(我无法修改):
void writeData(uint16_t add, uint16_t *data);
*data
应该指向一个uint16_t
变量。所以在我的代码中,我像这样使用它,例如:
uint16_t dataValue;
dataValue = 55;
writeData(0, &dataValue);
有没有办法简化上面的代码,以便在writeData
不声明变量的情况下使用函数dataValue
?像这样,但使用正确的语法:
writeData(0, syntaxInCWhichPointsToTheAdressOfTheValueInsideBrackets{55});
如果不是,我们可以修改操作符同一指令行中指向的值&
吗?
writeData(0, &dataValue{dataValue=55}); // something like this but with correct syntax
我不想封装writeData
在其他函数中。
回答
使用 C99,您可以使用复合文字:
writeData(0, (uint16_t []) { 55 });
但在我看来,它使代码的可读性降低。