souce[256]="";
while (*source) { ++source }

whileは()の評価がtrueの間だけループするものと聞く
なのでwhile(1)で無限ループとかは分かる
が、なぜsourceの先の配列をインクリメントし続けて配列の末尾に
ぶつかった時点で()内がfalseとして評価されるのかがわからんちん
助けてこんなろ