J-M-L:
you can see the EEPROM as a line of boxes - each box can hold 1 byte. The put() function will look at how many bytes are needed for your parameter (for example 4 bytes for your float on a UNO) and if you ask to save your float starting at box #0 then it will fill Boxes #0 #1 #2 and #3.if you want to save a second element you want to make sure you don't store it in a box that has already a value, you need to start in box #4.
when you do
eeAddress += sizeof(float);this is exactly what you do: you take into account how many boxes were needed to store your float and you set the eeAddress to the next available boxso depending on the data type you store, you need to add the right number of bytes to the address (so indeed use long if what you stored is a long)
this becomes tedious, that's why if you put everything in a structure, then you can just put() the structure in EEPROM and all will be taken care of for you
you make it sound so easy i have no idea what im doing