I\'m quite certain that arrays of built in types are unitialized, whereas arrays of UDTs are default initialized.
int foo[5]; // will contain junk
Foo foo
"Members of arrays and structures are default initialized or not depending on whether the array or structure is static"
This is authoritative, although it could be clearer:
static are initialized to zeroes.