【问题标题】:structures for multilevel feedback queue initialization多级反馈队列初始化结构
【发布时间】:2012-04-12 18:48:27
【问题描述】:

你好,

我正在尝试构建一个多级反馈队列,但我在访问数据结构时遇到了问题。

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已加载,我正在尝试获取队列结构“front”的内容以链接到它。

谁能告诉我发生了什么事?

【问题讨论】:

  • 您在发帖时是否将“str1”结构重命名为“mystruct”?

标签: c struct queue feedback multi-level


【解决方案1】:

ptr->p = front;

ptr->pstruct str1struct mystruct 类型(你似乎在混淆它们),而 frontstruct str1 *struct mystruct * 类型。您正在尝试将指针分配给非指针类型的变量。您需要取消引用 front 才能使分配正确。正确编译的语句是

ptr->p = *front;

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多