mira pues tienes dos opciones:
1. poner un numero muy grande para el array, y al momento de ordenarlo solo le pones el limite en donde quieres.
2. Utilizar Memoria dinamica que es lo mas viable, pero al mismo tiempo algo un poco complicado de programar, y no lo digo por la programacion, sino por el cuidado que debes tener, ya que puedes reservar toda la memoria que quieras, sin olvidarte de liberarla, asi podrias asignar el tamaño que tu quieras del array.
aqui un link
http://computacion.cs.cinvestav.mx/~...PP/node46.html