Espero no meter mucho la pata con la nomenclatura.
Tengo una estructura maestro-esclavo, donde el número de esclavos puede cambiar en tiempo de ejecución.
Para cada esclavo tengo que definir una serie de objetos para realizar la comunicación.
Estos objetos se "listan" o "estructuran" dentro de un array.
Actualmente lo que hago es crear un array con la dimensión más alta factible y luego usar solamente los posiciones que necesito, pero supongo que no es un método muy elegante.
Creo que has creado un array de estructuras. El único problema es el consumo de memoria, que depende del tamaño del array y a complejidad de la estructura. Así que se me ocurre aluna solución:
Generar varios array progresivamente mientras necesites nuevas estructuras, ejemplo:
Si tu array tiene [1000] posiciones, puedes generar arrays mas pequeños en tiempo de ejecución, por ejemplo de [100] e iteras sobre ellos para que te unifique los arrays como un solo array a la hora de leer y escribir.
Habría que ver tu código para evaluar la mejor solución. Como dice surbyte, puedes realizar asignación dinámica de memoria, esto es, ir tomando memoria para crear variables o estructuras a medida que lo necesites, pero no tiene porqué ser la solución ideal, y tal vez la que tienes actualmente sea mejor.