Hello. I wanted to create a vector of pointers in which each element points to a supposed queue, but when I try to access the (vector of pointers) - > (TAD row) - > (vector within the TAD queue), I have problems, it does not access.
Follow example
typedef struct colegio { // vetor com 180 ponteiros
void *vetor_filas[180];
} Colegio;
typedef struct registro_fila { // fila com um vetor de 20 espaços
int qtd_pessoas[20];
} Fila;
Fila* criar_salas() { // criação do TAD fila, retorno ponteiro tipo Fila*
Fila *nova_fila;
nova_fila = (Fila*)malloc(sizeof(Fila));
return nova;
}
void alocarColegiosSalas(Colegio *colegio) { // aloca as filas nos 180 vetores
int i = 0;
while (i < 180) {
colegio->vetor_filas[i] = criar_salas();
i++;
}
}
int main() {
Colegio *novosColegios;
alocarColegiosSalas(novosColegios);
int a = 1;
novoColegio->vetor_filas[0]->qtd_pessoas[0] = a;
// aqui ele pede um casting do tipo (Fila*) (warning), e avisa que não é uma estrutura nem união.
printf("%d\n", novoColegio->vetor_filas[0]->qtd_pessoas[0]);
// avisa que a estrutura é algo que não é um estrutura nem união.
}
I think I'm doing something wrong on structures, or something.