Pues mira hay dos opciones
1 Compilar con gcc archivo.c -std=c99 en GNU/Linux y hacer lo siguiente:
int matriz[DIM][DIM]
2. Muchos protestarán porque no conocen los nuevos estándares así que a la antigua
ocupas
#include<stdlib.h>
int **matriz
= malloc( sizeof(int *) * DIM
+ sizeof(int) * DIM
* DIM
); matriz[0] = (int*)(matriz + DIM);
for (i = 1; i < DIM; i++) matriz[i] = matriz[i - 1] + DIM;
Bueno en fin puedes hacer cualquiera de las 2
3. Si utilizas el 2. debes liberar memoria así
y después
deben ser en ese orden esto es para evitar memory leaks (fugas de memoria)