Quick question - using Strings in typedef structures...

Not tested, but it does show the basics; use of c-string for the (fixed size) id variable.

#include <EEPROM.h>

// address in eeprom where records are stored
#define BASEADDRESS 0

struct UDT_SETTINGS {
  int16_t PHop_Min;       // 0 to PHop_Max
  int16_t PHop_Max;       // PHop_Min to 100
  bool    PHop_Rev;       // 0 = Normal, 1 = Reversed
  int16_t SHop_Min;       // 0 to SHop_Max
  int16_t SHop_Max;       // SHop_Min to 100
  bool    SHop_Rev;       // 0 = Normal, 1 = Reversed
  int16_t Rud_Rng;        // 0 to Rud_Max
  int16_t Rud_Trim;       // -Range to +Range
  bool    Rud_Rev;        // 0 = Normal, 1 = Reversed
  int16_t Thr_Rng;        // 0 to Thr_Max
  int16_t Thr_Trim;       // +/- 20
  bool    Thr_Rev;        // 0 = Normal, 1 = Reversed
  int16_t Hook_Rel;       // 1 to 10 S
  float   Batt_Volts;     // 7 - 15 V
  char    id[5];          // this is last to catch structure changes <-------- 4 characters and nul terminator
};

// for demo purposes, two records (an array would have been better)
UDT_SETTINGS settings1;
UDT_SETTINGS settings2;

void setup()
{
  // save first record to eeprom
  EEPROM.put(BASEADDRESS, settings1);
  // save second record to eeprom
  EEPROM.put(BASEADDRESS + sizeof(UDT_SETTINGS), settings2);
  // read first record from eeprom
  EEPROM.get(BASEADDRESS, settings1);
  // read second record from eeprom
  EEPROM.get(BASEADDRESS + sizeof(UDT_SETTINGS), settings2);

}

void loop()
{

}