The part on ((StaffRecPtr)newStaff)... Reason of using got to do with void pointer. Can anyone enlighten me? Heap tks....Code:struct StaffRec { char *fname; char *lname; }; typedef struct CDRec *StaffRecPtr; staff createStaff(char *fname, char *lname) { Staff newStaff; newStaff = (StaffRecPtr)malloc(sizeof(struct StaffRec)); ((StaffRecPtr)newStaff)->fname = fname; ((StaffRecPtr)newStaff)->lname = lname; return newStaff; }