如何在char数组中分配特定的字节数 - 内存管理

时间:2013-04-06 21:22:51

标签: c++ c arrays char byte

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

我认为这样做的一个很好的例子:

void* block;
char memPool[50];

block = &memPool[0];
return block;

如果我正确思考的话,这将返回一个指向一个足以容纳1个字节的位置的指针。所以也许我可以使用一个4字节的void *数组来循环遍历字节,直到我得到我传递的任何类型的sizeof。在我坐下来开始编码之前,我只是试图将这个问题记录在纸上。

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

1 个答案:

答案 0 :(得分: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;