C
Ja, ist es - und dort ist auch schon ein Beispiel im FAQ-Artikel.
Zur Übergabe:
int func(int** matrix,size_t rows,size_t cols);
...
int** matrix;
...//initialisieren - siehe FAQ
func(matrix,width,height);
(wenn du Arrays übergibst, ist nur die äußerste Dimension variabel - innere Dimensionen mußt du zur Compilezeit vorgeben)