How to write struct to internal EEPROM .
"EEPROM, stands for Electrically Erasable Programmable Read-Only Memory and is a type of non-volatile memory used in computers and other electronic devices to store small amounts of data that must be saved when power is removed, e.g., calibration tables or device configuration. EEPROM is user-modifiable read-only memory (ROM) that can be erased and reprogrammed (written to) repeatedly through the application of higher than normal electrical voltage generated externally or internally in the case of modern EEPROMs."
Atmega328 microcontroller has an internal EEPROM memory of 1024 bytes. This article illustrates how to use this memory to store permanent values.
According to the specifications of Atmel's datasheet, the internal EEPROM has a life of 100000 cycles of write/erase.
Write struct to internal EEPROM: write_eeprom_struct.pde
Read stored struct: read_eeprom_struct.pde