Structures and Encapsulation

At a certain point, the usual suspect data types no longer suffice for the kind of work we need to do. Rather, we need to be able to encapsulate data more broadly, allowing us to group information together, but where all of that information relates to some large entity. For example, students have names (probably represented by strings) and ages (probably represented by integers) and grade-point averages (probably represented by floating-point numbers), but none of those things matters independently–instead, all of these things come together and are part of some larger overall entity: namely, the student. Wouldn’t it be nice to be able to “bundle” these things together, perhaps allowing us to abstract away from some of the underlying specifics? In more modern programming languages, we might do this with a so-called object, but in C we have a more basic mechanism for this: the structure.