External and static variables are initialized to 0 by default. Automatic variables for which there is no explicit initializer have undefined (i.e., garbage) values.
-- K&R
- For external and static variables, the initializer must be a constant expression (i.e, cannot be a result of a function)