Stanley is correct — objects with static storage duration are zero-initialised before any other initialisation takes place.
So, in your terminology, a global char
is "defaulted" to 0
. This is the integer 0
, and not the character '0'
(which is usually 48
). When you try to stream it to a console, you won't see anything, as this char
value has no human-readable representation.
If you meant a global char*
or char const*
, then this is also "defaulted" to 0
, i.e. it will be a null pointer. This is not the same as a pointer to an empty string. Trying to stream this will result in undefined behaviour, so you could see nothing or you could see my Mum's recipe for tomato soup presented in the form of interpretive dance at 20Hz behind an ASCII art translation layer.
Neither will be "blank", though without knowing what "blank" means here I cannot say that with absolute certainty.