У меня есть этот код в одном файле:
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
.