Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Regis Lima

Conversao

Recommended Posts

Olá, veja o trecho de código abaixo, será que alguem pode corrigi-lo?/* Simulador de Escalonamento*/#include <stdio.h>#include <stdlib.h>struct processos { int pid; int estouro; int prioridade; int execucao; int espera; struct processos *prox;};struct processos *init_processos (int pid, int estouro, int prioridade);void fcfs (struct processos *proc);void listprocs (struct processos *proc);void priority (struct processos *proc);void rr (struct processos *proc, int quantum);void sjf (struct processos *proc); int main (void) { struct processos *plist, *ptmp; plist = init_processos(1, 10, 3); plist->prox = init_processos(2, 1, 1); ptmp = plist->prox; ptmp->prox = init_processos(3, 2, 3); ptmp = ptmp->prox; ptmp->prox = init_processos(4, 1, 4); ptmp = ptmp->prox; ptmp->prox = init_processos(5, 5, 2); listprocs(plist); fcfs(plist); sjf(plist); priority(plist); rr(plist, 1); while (plist != NULL) { ptmp = plist; plist = plist->prox; free(ptmp); }; return(0);};struct processos *init_processos (int pid, int estouro, int prioridade) { struct processos *proc; proc = malloc(sizeof(struct processos)); if (proc == NULL) { printf("Erro Fatal: Falha Alocacao de memoria.\nFinalizar.\n"); exit(1); }; proc->pid = pid; proc->estouro = estouro; proc->prioridade = prioridade; proc->execucao = 0; proc->espera = 0; proc->prox = NULL; return(proc);};

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da próxima vez, responda as dúvidas aqui mesmo no fórum. Dessa forma mais pessoas poderiam ajudar e responder.

No seu caso o problema é muito simples, é só trocar a linha:

proc = malloc(sizeof(struct processos));
por

proc = (struct processos*)malloc(sizeof(struct processos));

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.