Как инициализировать вложенные структуры - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть этот код в одном файле:

struct ReadyQueue {
    struct PCB *pcb;
    struct ReadyQueue *next;
};

extern struct CPU new_cpu;

typedef struct ReadyQueue *node;

node* head;

node createNode() {
    node temp;
    temp = (node)malloc(sizeof(struct ReadyQueue));

    if (temp == NULL) {
        printf("Error creating node");
        exit(0);
    }

    temp->next = NULL;
    free(temp);

    return temp;
}

node* head;

void addToReady(FILE *p) {

    node temp;
    temp = createNode();

    temp->pcb->PC = p;  // error here

    if (temp == NULL) {
        printf("Error");
    }

}

, который создает связанный список узлов.В моей функции addToReady у меня возникают проблемы при установке значения PCB, для которого в другом файле объявлена ​​другая структура:

struct PCB {
  FILE *PC;
};

У меня ошибка в temp->pcb->PC=p, и она выдает ошибку Segmentation Fault 11.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...