#ifndef STUDENT_H #define STUDENT_H #include "Date.h" #define MAX_SZ_NAME 80 /* These constants specify the maximum */ #define MAX_SZ_ADDRESS 80 /* lengths for name and address. Note */ /* that the memory for these data items */ /* is dynamically allocated so that no */ /* more memory is used than is needed */ /* based on the actual lengths of name */ /* and address. */ #define SZ_MAJOR 4 /* It is assumed that major will always */ /* be a four-letter code, so the amount */ /* of memory used for this data item is */ /* fixed. */ typedef struct { long idNum; char* name; char* address; char major[SZ_MAJOR + 1]; Date birthdate; } Student; Student* CreateStudent (long idNum, char* name, char *address, char* major, int birthmonth, int birthday, int birthyear); void DestroyStudent (Student* aStudent); void PrintStudent (Student* aStudent); #endif