¿Cómo pasar 2 matrices de dimensión para funcionar en C?

Posibles duplicados:
Pasando matrices multidimensionales como argumentos de función en C
Convertir arrays multidimensionales a punteros en c ++

Hola,

Intento pasar matrices de 2 dimensiones para funcionar en C, y el siguiente código funciona

void printArray(int a[][4], int size) { int i = 0; for (; i < size; ++i) { int j = 0; for (; j < size; ++j) { printf("%d,", a[i][j]); } printf("\n"); } } 

pero si sustituyo "int a[][4]" por "int **a" no funcionará, ¿alguien puede decir cuál es la diferencia?

Gracias

Enlace obligatorio: http://c-faq.com/aryptr/pass2dary.html . Todo lo que necesitas saber debe estar allí; No me molestaré en escribir todo aquí …