I have no intention of solving this as it homework you need to learn it. I will however give you a good start point
typedef FRIEND* PFRIEND;
typedef struct ConversationRecord {
PFRIEND party1;
long talkTimeInSeconds;
long daysSinceTalk;
struct ConversationRecord* nextConversation;
} CONVERSATIONS;
typedef struct friendRecord {
char* personsName;
CONVERSATIONS* lastConversation;
PFRIEND nextFriend;
} FRIEND;
PFRIEND friendList = 0;
Now start by creating the list of friends into friendlist.
It's all single linked lists, you may later decide to change to double linked list for speed. Now read up on lists and do the homework.