c - 如何将整数赋给指针数据?

标签 c casting

我对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/

相关文章:

Java反射: casting Integer coming from a class's field

c++ - Reinterpret_cast 与 C 风格的类型转换

c - 我应该如何编译这个C代码?

c - 为子进程重定向 IO

c - 访问结构体的双指针

c# - C# 中的转换错误

string - 将字节 slice 转换为字符串时,Golang 会进行任何转换吗?

c - 为什么增加 float 会产生与预期不同的结果?

c - 如何使用命令行选项覆盖 __TIME__ 和 __DATE__ 宏的值?

mysql - 在 MySQL 中转换日期会返回前一个日期