0

こんにちは、

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

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;

エラーを取得: INCOMPATIBLE TYPES IN ASSIGNMENT. これでフロントがロードされ、キュー構造「フロント」の内容を取得してそれにリンクしようとしています。

誰が何が起こっているのか教えてもらえますか?

4

2 に答える 2

0

ptr->p = front;

ptr->pstruct str1or型struct mystruct(ごちゃまぜのようです) ですが、はorfront型です。非ポインター型の変数にポインターを代入しようとしています。割り当てを正しくするには、逆参照する必要があります。適切にコンパイルされるステートメントは次のようになりますstruct str1 *struct mystruct *front

ptr->p = *front;
于 2012-04-13T16:10:18.717 に答える
-1

私はかつてマルチレベル フィードバック キュー スケジューリング アルゴリズムを実装していました (これは自分で作成したものです)。3 つのキューを作成しました。最後の 1 つは先着順アルゴリズムのみです。

于 2012-05-17T09:42:26.847 に答える