2.8 動的配列 (1999/04/10 初版) 2.8.1 汎用的な関数 前のページで見たように、2次元配列を関数でやり取りするには、少なくとも配列 の後ろの添字サイズを指定する必要があります。例えば2次元配列 int mat[10][20]; を関数に渡すには、次のようなプロトタイプ void func(int (*a)[20], int row, int col); で宣言される関数が定義されている必要があります。関数は大きさが20の配列を指 すポインタaで受け取ります。 しかし、これでは関数に汎用性がありません。違うサイズの配列をこの関数に渡す ことができないからです。ここでは任意のサイズの2次元配列を扱える汎用的な関数 をつくります。 2.8.2 準備:ポインタを指すポインタ まず準備として、これまでの知識を使った演習問題を考えましょう。上述の関数 func()で「int (*)