2012-04-12 20 views
0

Helllo、マルチレベルフィードバックキューの初期化のための構造

マルチレベルのフィードバックキューを構築しようとしていて、データ構造にアクセスする際に問題があります。

struct str1 
{ 
` int time; 
    int Id; 
    int Size; 
    struct str1 *next; 
}; 

struct mlfq 
{ 
    int quantum; 
    int timereached; 
    struct mystruct p; 
}; 

struct str1 *front; //read from the file and stored. 

struct mlfq *ml; 

私がしたいことは、「mlfq」を他の「フロント」キューにリンクすることです。私の挿入機能で

、私はエラーになっメモリ

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

が割り当てられている:割り当てにおいて互換性のない型を。 フロントがロードされ、キュー構造「フロント」の内容を取得しようとしています。

誰にでも何が起きているのですか? frontがタイプstruct str1 *またはstruct mystruct *でありながら

ptr->p = front; 

ptr->p

+0

転記中に "str1"構造体の名前を "mystruct"に変更しましたか? – wildplasser

答えて

0

は、タイプstruct str1struct mystruct(あなたがそれらを混合しているように見える)です。非ポインタ型の変数にポインタを代入しようとしています。割り当てが正しいためには、frontを逆参照する必要があります。正常にコンパイル文は、私がかつてマルチレベルが.Iは3つのキューをしていた(私自身の作成した)キュースケジューリングアルゴリズム、時間量子10msの(FCFS)との最初のものをフィードバック実施していた

ptr->p = *front; 
-1

だろう2番目の時間は40ms(FCFS)で、3番目と最後のものは最初にAlgoになる。

関連する問題