Hi,
please, initialize "i" to 0. Non-initialized
variable store garbage,
not zeroes.
It probably does not look very well, but otherwise correct:
If an object that has static storage duration is not
initialized explicitly, then:
— if it has pointer type, it is initialized to a null pointer;
— if it has arithmetic type, it is initialized to (positive or unsigned) zero;
— if it is an aggregate, every member is initialized (recursively) according to these
rules;
— if it is a union, the first named member is initialized (recursively) according to
these rules.