Se quieres usar una matriz en el 'stack' y usar el metodo para diferentes tamaños, entonces tiene que hacer asi:
void function(int * m, int lineas, size_t columnas)
{
int i = 0;
int j = 1;
m[i*columnas + j] = 5;
}
int main()
{
int a1[10][20];
int a2[40][30];
function(&a1[0][0], 10, 20);
function(&a2[0][0], 40, 30);
}
en el caso de que se puede usar la asignación dinámica, enton puede leer esto:
http://foro.elhacker.net/programacion_cc/duda_con_arreglo_bidimensional_dinamico_en_ide_devc-t337905.0.html;msg1658904#msg1658904Finalmente, se el tamaño de el matriz es constante em tiempo de compilación, entonces se puede:
void function(int m[][DIM])
o
void function(int m[DIM][DIM])