03/15/06 The "fields" in a struct are also called "members" struct Workout_S { char date[DATE_LEN]; int meters; double splitTimeSeconds; // store the field in pure seconds int minutes; bool personalRecord; }; The members are date, meters, splitTimeSeconds, minutes, personalRecord. Declaring a struct allocates NO MEMORY. Only when you use the struct to declare a variable is any memory allocated, e.g. Workout_S myWorkout; // scalar Workout_S januaryWorkouts[31]; // array Scalar means "a variable that only holds a single value, i.e. not an array" *** Be careful with strcpy... if you copy a long string into a short target, this is called a buffer overrun. Google buffer overrun, and you will be led to stuff about exploits... that is ways to break into systems, hacker stuff. *** Emacs tricks Ctrl/X 2 gives you two windows (vertically,one on top of other) Ctrl/X 1 reduces to one window (keep the one you are in) Ctrl/X 0 zeros out the current window (leaving the rest) Ctrl/X 3 gives you two windows side by side switching between windows... if you have a mouse just click in the dest window.. but if you are using secure shell on a PC, you can't use the mouse, so use CTRL/X O (letter O, stands for "other window")