m行n列の二次元配列をメモリ上に表現する場合

1 サイズm*nの一次元配列として確保
2 サイズmのポインタの配列とサイズnの一次元配列m個

1の利点 ポインタの配列分メモリが必要無い
2の利点 列を削除追加できる

2は多段のポインタなので
普通の二次元配列として扱うと遅い
中継用のポインタ使う必要があるので可読性は低い