2016-09-24 58 views
-1

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

请你让我知道如何解决这个问题?

回答

3

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

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

注意data前的符号(&)。这就是说,“传递data的地址”这是uint8_t *是什么,它是一个内存地址。

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