Lets say I have a "Passenger" struct, which has a field for a name.
If I do (like the syntax of my book shows):
fread(&passenger, sizeof(Passenger), 1, in_fp);
printf("%s", (*passenger).first_name)
I get a segmentation fault, but if I do:
fread( (char *)passenger, sizeof(Passenger), 1, in_fp);
printf("%s", (*passenger).first_name)
the name read from the file will be printed out.