int main() { int a = 10; int b = 20; swap(&a,&b); char choice; pid=0; free_block = init_free_block(mem_size); //初始化空闲区 for(;;) { display_menu(); //显示菜单 fflush(stdin); choice=getchar(); //获取用户输入 switch(choice) { case '1': set_mem_size(); break; //设置内存大小 case '2': set_algorithm();flag=1; break; //设置分配算法 case '3': new_process(); flag=1; break; //创建新进程 case '4': kill_process();flag=1; break; //删除进程 case '5': display_mem_usage(); flag=1; break; //显示内存使用 case '0': do_exit(); exit(0); //释放链表并退出 default: break; } getchar(); } }
main(){ char choice; pid=0; struct free_block_type * pre,* fbt; int addr=DEFAULT_MEM_START; printf("初始化可用表长度(>1):\n"); scanf("%d",&block_num); free_block = init_free_block(mem_size); //初始化空闲区 pre=free_block; block_num--; set_mem_size(pre); fbt=free_block; while(block_num>0){ addr=pre->size+pre->start_addr; pre = init_free_block(mem_size); //初始化空闲区 pre->start_addr=addr; set_mem_size(pre); fbt->next=pre; fbt=pre; block_num--; } while(1) { display_menu(); //显示菜单 fflush(stdin); choice=getchar(); //获取用户输入 switch(choice){ case '1':// set_mem_size(); break; case '2': set_algorithm();flag=1; break; case '3': new_process(); flag=1; break; case '4': kill_process(); flag=1; break; case '5': display_mem_usage(); flag=1; break; case '0':do_exit();exit(0); default: break; } } }