#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char **argv)
{
int *vector, tamanio=0;
 
//Reservas memoria para 1 entero
vector = (int*)malloc( (tamanio+1)*sizeof(int) );
 
//Mientras no introduzca un cero
do{
printf("\nIntroduce un entero: ");
scanf("%d", &vector[tamanio];
 
//Ampliamos el vector para 1 elemento más
tamanio++;
vector=(int *)realloc(vector, (tamanio+1));
 
}while(entero!=0);
 
//Liberamos la memoria
free(vector);
 
return 0;
}