Quick question - using Strings in typedef structures...

(I assume we're discussing an AVR processor.)

The processor itself does not alter SRAM in any way during "boot".

Memory is only initialized by Libc. Anything outside of .data (global / static with non-zero values) and .bss (global / static set to zero) is untouched. The heap and stack are outside of those regions.

The electricity generated by an LED (yes, I wrote that correctly) has been shown to preserve SRAM values.

In other words, simply connecting an LED to an AVR processor is enough to trigger what @cattledog described. Even through a power cycle.