我的代码是这样:
uint8_t* payload = (uint8_t*)malloc(payload_size);
uint8_t* payloads = (uint8_t*)malloc(payload_size * 100);
for(uint8_t i = 0; i < 100; i++ ){
create_payload(payload); //cannot modify
//myapproach
payloads[i] = payload;
}
而且这甚至还没有编译。
我想将有效载荷值存储到有效载荷数组,因为有效载荷变量在每次迭代时都会被替换。
有一个简单的解决方案吗?
创建payload
类型的指针数组:
payload* payloads[100];
然后将该数组的元素设置为您拥有的有效负载指针:
payloads[i] = payload;
// make sure payload is of type payload pointer
这是假设您有某种
typedef struct payload{} payload;
某处。小心命名空间冲突:如果您还有一个名为“ payload”的结构,则不能有一个名为“ payload”的变量,则必须提出一个更好的变量名。