多级反馈队列初始化的结构

时间:2012-04-12 18:48:27

标签: c struct queue feedback multi-level

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;

收到错误:分配时出现不兼容的类型。 现在前面加载了,我试图让队列结构的内容“前面”链接到它。

任何人都可以告诉你什么;继续吗?

2 个答案:

答案 0 :(得分:0)

ptr->p = front;

ptr->p的类型为struct str1struct mystruct(您似乎在混合它们),而front的类型为struct str1 *或{{1} }}。您正在尝试为非指针类型的变量分配指针。您需要取消引用struct mystruct *才能使分配正确。正确编译的声明将是

front

答案 1 :(得分:-1)

我曾经实现过多级反馈队列调度算法(这是我自己的创建)。我做了3个队列,第一个是时间量子10毫秒(FCFS),第二个是时间量子40毫秒(FCFS)和第三个也是最后一个刚刚先到先得的Algo。