A struct is a structure that holds multiple related pieces of data.
struct Song {
int id;
char name;
float songLength;
float bpm;
}A typedef defines an alias for a type declaration, allowing you to use that alias like a standard data type. With the declaration below, you would then be able to instantiate new songs like "Song richGirl" (opposed to "struct Song richGirl;")
typedef struct {
int id;
char name;
float songLength;
float bpm;
} Song;