>>501
columnは列番号をあらわしてます。0からカウントします。
見かけ上の位置が先頭から何文字目であるか、というものです。

以下の行があるとすると、columnが3の位置にaという文字があります。
expand
また、タブを[tab]と表記し、タブサイズが4である場合、以下の行について
aという文字は6バイト目に存在し、columnが11の位置にあるといえます。
[tab][tab]expand
タブサイズが8である場合は、6バイト目に存在し、columnが19の位置に
あるといえます。
また、重要な点として、タブサイズが4であり、
[tab]x[tab]expand
という行である場合、aという文字は、7バイト目に存在し、columnが11の
位置にあるということです。
処理の内容を理解されたということですので問題ないと思ってはいますが、参考までに。

また、TAB_LISTはグローバル変数のtab_listのことを指しています。

>>502
要求仕様を満たそうにもa、bの中に何を入れるのかが示されていない。