Storing struct table in the eeprom.

typedef struct {
String name;
int age;
int time;
} info;

How to store the informations in the eeprom?

You can use the eeprom_write_block and eeprom_read_block functions in avr/eeprom.h to store and retrieve the structure.

Use Google to find tutorials on using avr/eeprom.h and definitions of the functions available.

#include <avr/eeprom.h>

void setup()
{  
  struct{
    String name;
    int  age;
    int  time;
  } 
  info;

  info.name = "acosicdm";
  info.age = 25;
  info.time = 3600;

  Serial.begin(9600);
  Serial.println("Data stored");
  Serial.println(info.name);
  Serial.println(info.age);
  Serial.println(info.time);
  Serial.println();

  //info retreived from EEPROM
  struct{
    String name;
    int  age;
    int  time;
  } 
  infoStored;

  int eepromAddress = 8;//you can use EEMEM declaration to manage the address if desired

  eeprom_write_block(&info, (uint16_t*)eepromAddress, sizeof(info));
  
  eeprom_read_block(&infoStored, (uint16_t*)eepromAddress, sizeof(info));
  
  Serial.println("Data retreived");
  Serial.println(infoStored.name);
  Serial.println(infoStored.age);
  Serial.println(infoStored.time);
}

void loop()
{
}

@cattledog: when I compiled your version, it came to 4156 bytes. I reworked things so that records of size struct could be written to and read back from EEPROM to show that it works. My version uses 2672 bytes, with most of the savings from dropping the String class:

#include <avr/eeprom.h>

struct myEEStruct{          // declare a structure
    char name[15];
    int  age;
    int  time;
  };
  
void setup()
{  
  int i;
  struct myEEStruct info;            // define two structures 
  struct myEEStruct infoStored;

  strcpy(info.name, "acosicdm");
  info.age = 25;
  info.time = 3600;

  Serial.begin(9600);
  Serial.println("Data stored");
  Serial.println(info.name);
  Serial.println(info.age);
  Serial.println(info.time);
  Serial.println();

  //info retreived from EEPROM

  for (i = 0; i < 5; i++) {
    info.time = i;                                   // This treats each as a record, with i changing on each
    eeprom_write_block(&info, (void *)(i * sizeof(info)), sizeof(info));   
  }
  
    for (i = 0; i < 5; i++) {
      eeprom_read_block(&infoStored, (void *)(i * sizeof(info)), sizeof(info));    // read 'em back
  
      Serial.println("Data retreived");
      Serial.println(infoStored.name);
      Serial.println(infoStored.age);
      Serial.println(infoStored.time);
    }
}

void loop()
{
}

String? Within a struct? Then you want to store it to eeprom?

I don't normally use String objects, but I decided to code what the OP requested as a learning experience.
When I made a sketch using a char array I did note the compile size difference that econojack points out.

One of the things I discovered is that there is some sort of encoded values placed in the eeprom for a String. Does anyone know what is going on with the encoded storage of a String in the eeprom?

EDIT 12/10/2014 With further examination I have found that the values stored for the String in eeprom will not reproduce the content of the String after cycling power and running the sketch without the write, but just trying to read the stored values.

Here's a sketch which demonstrates.

String letters= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char alph[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

#include <avr/eeprom.h>
#include <EEPROM.h>

byte EEMEM save_letters[sizeof(letters)];
byte EEMEM save_alph[sizeof(alph)];

int eepromAddress = 0;

void setup(){

  Serial.begin(9600);

  eeprom_write_block(&letters, save_letters, sizeof(letters));
  eeprom_write_block(&alph, save_alph, sizeof(alph));
 
  String letters1;
  eeprom_read_block(&letters1, save_letters, sizeof(letters));
  
  char alph1[sizeof(alph)];
  eeprom_read_block(&alph1, save_alph, sizeof(alph));
 
  Serial.println(letters1);
  Serial.println(alph1);
  Serial.println();

  //read eeprom address values

  for(eepromAddress=0; eepromAddress<36; eepromAddress++)
  {
    int value = EEPROM.read(eepromAddress);
    Serial.print(eepromAddress);
    Serial.print("\t");
    Serial.print(value, BIN);
    Serial.print("\t");
    Serial.print("\t");
    Serial.print(value, DEC);
    Serial.print("\t");
    Serial.print(char(value));
    Serial.println();

    eepromClear();

  }
}
void loop(){
}

void eepromClear()
{
  if (EEPROM.read(eepromAddress) == 0){
    // do nothing, already clear, go to the next address
  } 
  else{
    EEPROM.write(eepromAddress, 0); 
  }


}