我不熟悉C语言。我正在研究。
我有一个像这样的功能。
我一直在尝试将整数数据分配给uint8_t * data,但事实并非如此。
我有一个错误0x00与uint8_t * data不匹配。
如何将我的整数(0x00)数据分配到那里?
sccb_write_reg(0x01, 0x00); //<---it makes error
void sccb_write_reg(uint16_t reg, uint8_t *data)
{
...
...
}
您能告诉我如何解决这个问题吗?
最佳答案
对于这种特殊情况,上下文线索告诉我们调用函数中应该有data
,并且您应该在以下位置传递其地址:
uint8_t data = 0x00;
uin16_t reg = 0x01;
sccb_write_reg(reg, &data);
注意
&
之前的&字符(data
)。就是说,“传递data
的地址”是uint8_t *
,它是一个内存地址。关于c - 如何为指针数据分配整数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39678988/