川朴老师 2021-12-12 04:09 采纳率: 75%
浏览 61
已结题

请师傅补充代码,在void Best_allocate(int request)/*最佳适应分配函数,根据申请的request字节数来分配空间*/ { }这个模块,关于内存管理算法模拟

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
#include <stdio.h>
#include <stdlib.h>

#define minsize 10   /*定义物理块的最小值*/

 typedef struct free_table{   /*定义未分配区表*/    
      long address;
    long size;
    struct free_table *next;
}Node,*NodeList ;
NodeList head;

void createLink()
{
    NodeList p;
      int n;    //链表长度(节点数目)
    head=(NodeList)malloc(sizeof(Node)); 
    p=head;
    printf("请输入空闲区域数:");
    scanf("%d", &n);    //链表长度(节点数目)
    while( n-- ) {
        p->next = (NodeList)malloc(sizeof(Node)); //创建1个新的链表节点 
        p = p->next;      //链表游标 -> 后移一个节点
        scanf("%d", &p->address); 
        scanf("%d", &p->size); 
    }
    p->next = NULL; //链表最后一个节点指向下一个节点的指针 --> 指向空NULL
}


void Best_allocate(int request)/*最佳适应分配函数,根据申请的request字节数来分配空间*/
{
   
}
void Link_printf()
{
   NodeList temp1;
   temp1=head->next;
   printf("分配后的空闲表如下:\n" );
   while(temp1){     
      printf("空闲起始地址为:%d;长度为:%d\n",temp1->address,temp1->size );
      temp1=temp1->next ;
   }
}
main()
{ 
  int a,request;
  createLink(); 
  printf("请输入作业申请长度:");
  scanf("%d",&request);
  Best_allocate(request);
  Link_printf();
}


展开全部

  • 写回答

0条回答 默认 最新

      编辑
      预览

      报告相同问题?

      问题事件

      • 系统已结题 12月19日
      • 创建了问题 12月12日
      手机看
      程序员都在用的中文IT技术交流社区

      程序员都在用的中文IT技术交流社区

      专业的中文 IT 技术社区,与千万技术人共成长

      专业的中文 IT 技术社区,与千万技术人共成长

      关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

      关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

      客服 返回
      顶部