Actually, the C standard mandates that all objects with static storage duration are guaranteed to be initialized to zero.
That’s probably true for static variables, altough I always use to initialize vars wherever they are allocated for bad experiences I got in the past with missing initializations and also for better readability of the code.
It’s up to you in this case.
Maybe I misunderstood it, but there are some performance critical function which should be inlined.
Do you know a way to keep function in C files, but still let the compiler to inline them?