我的结构如下所示。
typedef struct
{
attribute_code_t field_id;
uint8_t instance_num;
uint8_t length;
uint8_t data[32];
uint32_t crc_value;
}table_entry_t;
我想按如下方式填充结构。
entry->field_id = 54;;
entry->instance_num = 0;
entry->length = 4;
entry->data = 0xfdfcfefa;
它给我错误,错误:赋值中的类型不兼容。在最后一行。我想知道执行上述赋值的最佳方法是什么。
感谢任何帮助。
最佳答案
以下代码将数据复制到 32 字节的前 4 个字节。
tmpdata = 0xfdfcfefa;
memcpy(entry->data, &tmpdata, sizeof(uint8_t) *4);
关于c - 将 32 位值分配给无符号 uint8_t 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12346057/