variable construction rules in C