C89: Reorder variables

Fixes the order of variable declarations. The use of C99 initialisation lists were also changed.

This pull request is based off #26.