在未声明的数据变量上使用数据指针

我有一个具有以下原型的函数(我无法修改):

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 });

但在我看来,它使代码的可读性降低。


以上是在未声明的数据变量上使用数据指针的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>