2012-04-12 6 views
0

Helllo,Strukturen für Multilevel Feedback Queue Initialisierung

Ich versuche, eine Multi-Level-Feedback-Warteschlange und im bauen ein Problem mit mit den Datenstrukturen zugreifen.

Ich möchte die "mlfq" mit der anderen "Front" Warteschlange verknüpfen

In meiner Insert-Funktion habe ich Speicher zugewiesen

struct mlfq *ptr; 
    struct str1 *temp; 
    ptr = malloc(sizeof(struct mlgq) 
    temp=malloc(sizeof(struct str1)); 
     ptr->p = front; 

immer Fehler: inkompatible Typen IN AUFGABE. Jetzt Front ist geladen und ich versuche, den Inhalt der Warteschlangenstruktur "Front" zu erhalten, um es zu verknüpfen.

Kann jemand sagen, was?

+0

Haben Sie beim Hochladen die Struktur "str1" in "mystruct" umbenannt? – wildplasser

Antwort

0

In

ptr->p = front; 

ptr->p ist vom Typ struct str1 oder struct mystruct (Sie scheinen sie bis zu mischen), während front vom Typ struct str1 * oder struct mystruct *. Sie versuchen, einer Variablen eines Nicht-Zeigertyps einen Zeiger zuzuweisen. Sie müssen front dereferenzieren, damit die Zuweisung korrekt ist. Eine Aussage, die würde kompiliert richtig

seine
ptr->p = *front; 
-1

Ich hatte einmal implementiert Multi-Level-Warteschlange Scheduling-Algorithmus zu (die eine Schaffung meines eigenen war) .Ich 3 Warteschlangen gemacht hatte, zunächst eine mit der Zeit Quanten 10ms (FCFS), Sekunde mit Zeitquantum 40ms (FCFS) und die dritte und die letzte mit nur zuerst kommen zuerst dienen Algo.