A struct is a block of memory that stores several data objects , where those objects don’t overlap. A union is a block of memory that stores several data objects, but has only storage for the largest of these, and thus can only store one of the data objects at any one time.