Для глобальных переменных инициализация нулями гарантируется.

Для локальных - гарантируется мусор в стеке.

Кроме указателей, которые таки, конечно, зачищаются.
Если посмотреть дизасм преамбул процедур в ББ, видно, как компилятор
старательно затирает указатели во фрейме процедуры, игнорируя всё между ними

Инициализация глобальных переменных гарантирована сообщением о языке, так что на неё можно полагаться.