Grazie lo stesso , ho risolto quello che volevo fare era una cosa di questo tipo

codice:
#include <stdio.h>
#include <stdlib.h>

#define ORIGINAL 1 

int main()  {
  char *v = NULL;		
  char val;
  int size = 0;
  int i;
  do  {
    printf ( "Inserire un nuovo elemento nell'array :");
    scanf ("%c", &val);

   
    if (ORIGINAL || (val <= '0') || ('9' < val)) {
      v = (char*)realloc(v,(++size)*(sizeof(int))); 
      if (NULL == v) {
	exit(1);
      }
      v[size-1] = val;
    }
  } while (val != '0');
  printf( "Elementi nell'array:"); 

  for(i=0; i<size-1; i++){
    if(v[i] <= '9' && v[i] >= '1' )  continue;
    else  printf("%c ", v[i]);
  }
  
  
  v = (char*) realloc( v, (++size)*(sizeof(int)) );
  v[size-1] = '\0';
  printf(" Array convertito in stringa: %s.\n",v);
  

  free(v);
  return 0;
}