我对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)
{
...
...
}
您能告诉我如何解决这个问题吗?
最佳答案
对于这种特殊情况,上下文线索告诉我们调用函数中应该有数据
,并且您应该将其地址传递给:
uint8_t data = 0x00;
uin16_t reg = 0x01;
sccb_write_reg(reg, &data);
请注意数据
之前的与号(&
)。也就是说,“传入data
的地址”,这就是uint8_t *
,它是一个内存地址。
关于c - 如何将整数赋给指针数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39678988/