main.c

来自「模拟内存分配的c语言实现 六、 实验目的 了解用户程序分配内存以及回收所用内」· C语言 代码 · 共 68 行

C
68
字号
#include "header.h"
#include "initial.c"
#include "checkspacefordischarge.c"
#include "adjust.c"
#include "ApplySpace.c"
#include "DischargeSpace.c"

void main()
{
        char name[20],sel;
        int size=0,flag=0;
        BLOCK *p;

        textmode(BW80);
        initial();
        while(!flag)
        {
                clrscr();
                printf("[1] Apply space\n[2] Release space\n[3] Quit\nPlease enter your choice:");
                sel=getch();
                putchar(sel);
                printf("\n");
                switch(sel)
                {
                        case '1':
                                printf("Name:\n");
                                gets(name);
                                printf("Size:\n");
                                scanf("%d",&size);
                                ApplySpace(name,size);
                        	break;
                        case '2':
                                printf("Name:\n");
                                gets(name);
                                printf("Size:\n");
                                scanf("%d",&size);
                                DischargeSpace(name,size);
                        	break;
                        case '3':
                                flag=1;
                        	break;
                }
               /*ApplySpace(name,100);*/
                clrscr();
                if(!flag)
                {
                        printf("The free table:\n\n");
                        p=FreeBL->next;
                        while(p)
                	{
                                printf("startaddress:%d\nendaddress:%d\nlength:%d\n",p->startaddress,p->endaddress,p->length);
                                p=p->next;
                	}
                        printf("\n\n");
                        printf("The allocated table:\n\n");
                        p=AllocateBL->next;
                        while(p)
                	{
                                printf("name:%s\nstartaddress:%d\nendaddress:%d\nlength:%d\n\n",p->name,p->startaddress,p->endaddress,p->length);
                                p=p->next;
                  	}
                        printf("\nPress anykey to continue...");
                        getch();
                }
                
                flushall();
        }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?