>>506
ソースをパッと見ただけだけど
columns xxx(columns data);
という関数は
void xxx(columns *data);
にしたほうが速い。
上の方は構造体のコピーを何回も行うことになる。
あと、基本的にはヘッダに実装を書いちゃダメ。