2.3.2 Defining and Accessing Structs
Structs help take the place of some classes by storing related member variables. The main use of a struct is to group similar data together under one variable type.
Basic Format for Structs
Structs are generally defined to store multiple data elements in a single format. Here is the basic syntax for a struct.
struct structName {
memberType1 memberName1;
memberType2 memberName2;
};
There are several things to notice about the definition. First, the definition begins by using the key word struct
. After that, the name of the struct is given. In this course, you will see structs names starting in lowercase letters and using camel case.
After the name is a set of curly brackets and inside of these you will see the different data types and variable names.
One thing to notice is that the struct definition ends with a curly bracket and a semicolon, ;
. The semicolon is critical.
Structs are typically defined at the top of the program and need to be defined before they can be used.
Example: Student struct
Let’s take a look at a specific example. If you wanted to create a student struct that can store the student’s name and their grade, it would look like this:
struct student{
string name;
int grade;
};
Notice in this example that it declares two member variables by giving a variable type and a name.
All values and the struct itself are public by default.
Using a Struct
Once created, you can use a struct like you would use another variable. Access for assignment and updates to the member variables is done through a dot access:
structName variable;
variable.memberName1 = value;
variable.memberName2 = value;
Using the student struct from above as an example, here is how you would assign and access a member variable.
student s;
s.name = "Tracy";
s.grade = 12;
cout << s.name << " is in grade " << s.grade << endl;
Notice in the example that the student is declared and then values are defined without having to instantiate any object. Structs behave like a class in Java, but are much quicker and easier to implement. As a result, you will find that you will use structs often in your programming.
Last updated