How to save a float variable to the eeprom

Even simpler, for just one value use the built-in eeprom read/write float functions:

#include <avr/eeprom.h>

float x=1.234;

void setup()
{
  //read value of x from eeprom address 0 upon startup
  x=eeprom_read_float((const float*)0);
    // ...
}
void loop()
{

    // if user pushes the "Save" button, save the value of x in eeprom locations 0 to 3
    if (digitalRead(13) == HIGH)
      eeprom_write_float((float *)0, x);
  //...
}