Taken from the Codevision compiler manual:
If not specifically initialised, static variables are automatically set to 0 at program startup.
However, Googling about C and static variables, I came across this:
First of all in ISO C (ANSI C), all static and global variables must be initialized before the program starts.
So is it basically compiler dependent, or in embedded C are static variables always automatically set to zero if the programmer give them an initial value.
That even raises more questions, such as is "embedded C" some sort of standard, or just a description of C when used in a hardware embedded environment as opposed to a general PC.
And then can you use different C standards in an embedded C compiler, thus changing the rules of what code is produced.