Let’s now take a step back and discuss why we would want to use structures. Look at an example of a program that uses bottle data without structures.

char bottleName1[] = "Medium Bottle"; int maxCapacity1 = 24; int currentCapcity1 = 0; char bottleName2[] = "Large Bottle"; int maxCapacity2 = 48; int currentCapcity2 = 20;

Notice that we need to keep track of six variables while working with this bottle data. As we increase the number of bottles, the number of variables would increase by 3 per bottle. This approach can get extremely unmaintainable.

In a small number of situations, we could possibly use arrays. But that’s only when the data is the same type, so this isn’t useful all the time.

struct Bottle { char* name; int maxCapacity; int currentCapacity; }; struct Bottle bottle1 = {"Medium Bottle", 24, 0}; struct Bottle bottle2 = {"Large Bottle", 48, 20};

Using a struct to encapsulate all the members that represent a Bottle we can:

  1. Reduce complexity by representing a set of data with one variable
  2. Package different, but logically similar, data together
  3. Better represent real-world “things” into data types

Being able to represent data using structures is extremely beneficial as you continue working on more complex real-world problems.



Someone has been working with a group of variables that represent coffee table data. Use structs to organize this data.

Above the main() function:

  • Create a Table structure
  • Define the following variables inside the structure, length, width, height and color[20]

Now initialize the data using the defined structure.

Inside the main() function:

  • Initialize the table1 using the Table struct and the first set of table data
  • Initialize the table2 using the Table struct and the second set of table data

Take this course for free

Mini Info Outline Icon
By signing up for Codecademy, you agree to Codecademy's Terms of Service & Privacy Policy.

Or sign up using:

Already have an account?