将分配的值存储到分配的数组中

问题描述 投票:0回答:1

我的代码是这样:

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;

}

而且这甚至还没有编译。

我想将有效载荷值存储到有效载荷数组,因为有效载荷变量在每次迭代时都会被替换。

有一个简单的解决方案吗?

c memory-management malloc dynamic-memory-allocation
1个回答
0
投票

创建payload类型的指针数组:

payload* payloads[100];

然后将该数组的元素设置为您拥有的有效负载指针:

payloads[i] = payload;
// make sure payload is of type payload pointer

这是假设您有某种

typedef struct payload{} payload;

某处。小心命名空间冲突:如果您还有一个名为“ payload”的结构,则不能有一个名为“ payload”的变量,则必须提出一个更好的变量名。

© www.soinside.com 2019 - 2024. All rights reserved.