Fill an Array with information on an SD card


I would like to store a whole bunch of data about people on an SD card and use it to display menu item names and then some additional data. Originally I'd hoped to create an array of a struct with the different types of data I want to know about each person. But 2 things: array size needs to be a constant and also how do I fill that up from the SD card?

char* locationNames[] = {"Hanscom AFB"}; // List all location names.  0 indexed.

struct person {
  String fName; // String containing student first name.
  String lName; // String containing student last name.
  int lived[]; // Contains a list of numbers of where person has lived.  Numbers relate to index position in locationNames array.
  int yog; // Year of graduation from high school.

const int sizeOfStudent=10;

person students[sizeOfStudent];// = {person1, person2, person3, person4, person5};

Use a fixed size char array for strings. (fixed record size).
Add a record nomber (ID) to each person. This will allow for keeping several 'persons' in variables - edit - and write them back to original locations. to recordsize*record_numder