C structure manipulation using only preprocessor directives