C中的编程函数malloc

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

在学校,我被要求编写4个函数:

void *memory_alloc(unsigned int size);
int memory_free(void *valid_ptr); 
int memory_check(void *ptr);
void memory_init(void *ptr, unsigned int size);

函数malloc在我的描述中是这样描述的:

使用memory_alloc具有类似的标准malloc。就这样输入参数可能会受到要返回的对象的影响:指向已成功分配的预留保留区域的指针,或者为NULL无法排除所需大小的地方。

基本上,我必须在不使用malloc和类似函数的情况下分配内存,我只想问一些想法和技巧,该怎么做?谢谢大家的帮助:)

c memory-management
1个回答
-1
投票

我有类似的作业回到学校,如果您愿意,我可以给您一个入门提示。您将需要一个检查内存的函数,例如:

t_chunk     *find_chunk(t_chunk *temporary, void *pointer)
{
  if (pointer == NULL)
    return (NULL);
  while (temporary != NULL)
    {
      if (temporary->address == pointer)
    return (temporary);
      temporary = temporary->next;
    }
  return (NULL);
}

然后是其他使用该逻辑来释放,调用或初始化的函数。您就像在数组中那样在内存中运行,然后执行您的任务。

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