Yes, a pointer defined at namespace scope (global namespace in your case) is guaranteed to be initialized to the correct null pointer value of the type.
For the standard references,
3.6.2[basic.start.init]/2 "Variables with static storage duration ... shall be zero-initialized (8.5)"
8.5[dcl.init]/6 "To zero-initialize ... means: if T is a scalar type (3.9), the object is initialized to the value obtained by converting the integer literal
0 (zero) to T;[106]"
106) As specified in 4.10, converting an integer literal whose value is 0 to a pointer type results in a null pointer value.
(emphasis mine)