Queria entender porque meu codigo não funciona usando a função, toda vez que realoca ele perde informações.
#include <stdio.h>
#include <stdlib.h>
int realocar(int *ponteiro,int tamanho){
tamanho +=1;
ponteiro = (int *) realloc(ponteiro,tamanho * sizeof(int));
return tamanho;
}
int main(){
//vetor dinamico
int tamanho = 1;
int a,i;
int *pnt;
pnt = malloc(tamanho * sizeof(int));
scanf("%d",&a);
while(a != 0) {
for(i=tamanho-1;i<tamanho;i++){
//printf("tamanho: %d inteiro: %d\n",tamanho-1,i);
pnt[i] = a;
scanf("%d",&a);
}
tamanho = realocar(pnt,tamanho);
/*tprintf("Pnt: %p Enderco: %p\n",pnt,&pnt);
tamanho +=1;
pnt =realloc(pnt,tamanho * sizeof(int));*/
}
for(i=0;i<tamanho-1;i++){
printf("vetor[%d] = %d\n",i,pnt[i]);
}
free(pnt);
pnt = NULL;
return 0;
}