如何将整数分配给指针数据?

时间:2016-09-24 17:19:18

标签: c casting

我不熟悉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)
{
...
...
}

请您告诉我如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

对于这种特殊情况,上下文线索告诉我们调用函数中应该有data,你应该在其中传递它的地址:

uint8_t data = 0x00;
uin16_t reg = 0x01;
sccb_write_reg(reg, &data);

请注意&之前的&符号(data)。这就是说,&#34;传递到data&#34;的地址这是uint8_t *的内容,它是一个内存地址。

答案 1 :(得分:2)

uint8_t parameter = 0x00;
sccb_write_reg(0x01, &parameter);