They are used to implement user defined datatypes
Structs can be used to return multiple values from an function
Structs can be initialized similar to array using {100, "David", 8.6}
Structs are values type variables
Elements in a struct as accessed using the dot operator
Arrow operator allows to access elements inside struct using the address of struct
Typedef is used to assign an alias to an datatype