In C, I have read that half-initialized arrays will be filled with zeros for the rest of the elements (irrespective of integer or char arrays).
E.g.:
in
Variables, located in data segment (global and unit scope), are automatically initialised to all zeros.
Stack variables (function and block scope) are filled with garbage unless explicitly initialised, even partially initialised. In case of partial initialisation, reminder is zeroed.
That's by the C standard and all compilers must adhere to it.