почему дичь? #ifndef спасает от повторного включения в одном модуле (c файле). Если воткнуть h с переменными с другой модуль будет множественное определение. Во втором случае переменные в h. д.б. обьявлены как static, либо как extern, но определены в каком-то одном модуле.
но вообще, так только убогие на C пишут.