Supongo que tu falla en crear una matriz es hacerla de forma dinámica lo que en vista de tu código siempre lo haces de forma estática; pero no hay problema declara una matriz de tamaño considerable asumiendo que nunca se saldrá de esos límites y utilizas los espacios que necesitas. Si deseas hacer de forma dinámica debes de saber manejar punteros y extraer memoria dinámica con malloc o calloc.
Espero que te sirva.