Inicializando una matriz después de la declaración

gcc 4.4.3 c89

Tengo el siguiente código como muestra de lo que estoy tratando de hacer. No sé el tamaño real de la matriz, hasta que entro en la función. Sin embargo, no creo que pueda establecer el tamaño de la matriz después de haberlo declarado. Lo necesito global ya que algunas otras funciones necesitarán acceder a los nombres de los dispositivos.

Muchas gracias por las sugerencias,

/* global */
char *devices_names[];

void fill_devices(size_t num_devices)
{
    devices_names[num_devices];

    /* start filling */
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta