-1

我有一个用作内存池的 char 数组。我已经标记了所有字节以表示它们是免费的/不是免费的。我的问题是如何为每个 int 分配 4 个字节的数组?

我认为这将如何工作的小例子:

void* block;
char memPool[50];

block = &memPool[0];
return block;

如果我的想法正确,这将返回一个指向足够大以容纳 1 个字节的位置的指针。因此,也许我可以使用 void* 4 字节数组,并循环遍历字节,直到达到我传递的任何类型的大小。在我坐下来开始编码之前,我只是想把它写在纸上。

我只是在寻找一些见解。谢谢。

4

1 回答 1

0

分配的内存是连续的,因此您可以使用指针遍历索引,因此您拥有整个 50 个块。

void* block; //the pointer
char memPool[50]; //the contiguous memory location allocated 

block = &memPool[0]; //the pointer is holding the address of 0th index, hence the whole memory location
return block;
于 2013-04-06T21:30:10.763 回答