Vector of pointers in which each element is a row

1

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.

    
asked by anonymous 28.05.2018 / 01:27

0 answers