[c] How to prevent multiple definitions in C?