我只是有一个关于 char 数组如何在内存池中工作以及如何为它分配其他变量类型的指针的问题。我正在做一个使用 char 数组作为内存池的分配,我需要能够分配指向它的指针,我已经阅读了一些关于该主题的信息,但不太了解实际分配的工作原理如:
const int poolSize = 60000;
char pool[poolSize];
void* allocate(int aSize)
{
//.....
return ((void*) 0);
}
long* pointer;
pointer = (long *) allocate(sizeof(long));
*pointer = 0xDEEDEEEF;
我只是不太明白它是如何工作的,因为 char 是 1 个字节,而 long 应该是 4,那么当我需要将数组中的 4 个点分配给一个 long 指针变量时,这样的事情是如何工作的?也可以随意给出示例和解释,但请不要泄露整个程序应该如何工作,因为一旦我完全理解了这部分的工作原理,我想自己弄清楚。谢谢