如何将整数分配给指针数据?
问题描述:
我不熟悉C语言。我在研究它。如何将整数分配给指针数据?
我有一个看起来像这样的功能。 我一直试图将整数数据分配给uint8_t *数据,但它不。 我有一个错误0x00不符合uint8_t *数据。 如何分配我的整数(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 *
是什么,它是一个内存地址。
答
uint8_t parameter = 0x00;
sccb_write_reg(0x01, ¶meter);