>>244
まず、いわゆる二次元以上の配列は初心者にはかなり理解が厳しいと思う。

やるのなら、matrixを操作する関数群を作るといいと思う。

matrixを確保、開放する関数、row、colを指定して値を設定する関数、
同様に取り出す関数、比較する関数、複製する関数など。

確保する関数はrowとcolを指定して、matrixのポインタを返すようにして、
残りの関数はmatrixのポインタと必要なパラメータを受け取るようにすれば
いいんじゃないかな。