2016-09-24 45 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); 
相關問題