Error "Uninitialized local variable 'p' used

-1

I am developing a program in c ++ to learn malloc , but it is giving local variable error in main function:

// testeMalloc.cpp : define o ponto de entrada para o aplicativo do console.
//

#include "stdafx.h"
#include <stdlib.h>

#define MAX 100;
#define true 0;
#define false 1;

struct fila {
    int *f;
    int ini, fim;
    float vet[100];
};

typedef fila Fila;


int incr(int i) {


    return (i + 1) % MAX;
}

Fila *cria() {

    Fila *f = (Fila*) malloc(sizeof(Fila));

    f->ini = 0;
    f->fim = 0;

    return f;
}

int inserir(Fila *f, float vet) {

    int cFim = incr(f->fim);

    if (cFim == f->ini) {

        printf("\nFila Cheia");

        return false;
    }

    else {
        int final;

        final = f->fim;

        f->vet[final] = vet;
        f->fim = incr(f->fim);

        printf("\nInserido com Sucesso!");

        return true;
    }

}


float retira(Fila *f) {

    if (f->ini == f->fim) {

        printf("\nFila vazia, valor não retirado");

        return 1;
    }

    float retorno = f->vet[f->ini];

    f->ini = incr(f->ini);

    return retorno;
}

int vazia(Fila *f) {
    if (f->ini == f->fim) {
        return true;
    }
    else
        return false;
}

void libera(Fila *f) {

    free(f);
}

void imprime(Fila *f) {


    for (int i = f->ini; i < f->fim; i = incr(i)) {
        printf("\nValor na posição %d: %.2f\n", i, f->vet[i]);
    }
}


int main()
{
    Fila *p;
    int soma1 = 0;

    *cria();

    inserir(p, 10);

    inserir(p, 200);

    float tmp = retira(p);

    libera(p);

    printf("\nNa soma dos valores: %d", soma1);

    return 0;
}

Any tips on how to make this program compile?

    
asked by anonymous 01.06.2018 / 22:10

1 answer

-1

I solved the problem, assigns the value of the pointer function creates to the variable p.

    
01.06.2018 / 22:20