如何在C中传递二维数组?

可能重复:
在C中将多维数组作为函数参数传递
将多维数组转换为c ++中的指针

嗨,

我尝试将2维数组传递给C中的函数,以下代码可以正常工作

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"); } } 

但是如果我将"int a[][4]"替换为"int **a"它将无效,那么有人能说出它的区别吗?

谢谢

必要的链接: http : //c-faq.com/aryptr/pass2dary.html 。 你需要知道的一切都应该在那里; 我不打算在这里写出来……