18.2.8 Clearing Objects

The runtime start-up code will clear all memory locations occupied by uninitialized variables so they will contain zero before main() is executed.

Variables whose contents should be preserved over a Reset should use the persistent attribute, see 9.9 Standard Type Qualifiers for more information. Such variables are linked in a different area of memory and are not altered by the runtime start-up code in any way.