Structures
The
format for defining a structure is
struct
Tag {
Members
};
Where Tag
is the name of the entire type of structure and Members are the variables
within the struct. To actually create a single structure the syntax is
struct
Tag name_of_single_structure;
To access
a variable of the structure it goes
name_of_single_structure.name_of_variable;
For
example:
struct
example {
int x;
};
struct
example an_example; //Treating it like a normal variable type
an_example.x
= 33; //How to access its members
Here is
an example program:
struct
database {
intid_number;
int age;
float
salary;
};
int
main()
{
database
employee; //There is now an employee variable that has modifiable
//
variables inside it.
employee.age
= 22;
employee.id_number
= 1;
employee.salary
= 12000.21;
}
The
struct database declares that database has three variables in it, age,
id_number, and salary. You can use database like a variable type like int. You
can create an employee with the database type as I did above. Then, to modify
it you call everything with the 'employee.' in front of it. You can also return
structures from functions by defining their return type as a structure type.
For instance: databasefn(); I will talk only a little bit about unions as well.
Unions are like structures except that all the variables share the same memory.
When a union is declared the compiler allocates enough memory for the largest
data-type in the union. It's like a giant storage chest where you can store one
large item, or a small item, but never the both at the same time. The '.'
operator is used to access different variables inside a union also. As a final
note, if you wish to have a pointer to a structure, to actually access the
information stored inside the structure that is pointed to, you use the ->
operator in place of the . operator. All points about pointers still apply.
A quick
example:
#include
<iostream>
using
namespace std;
structxampl
{
int x; };
int
main()
{
xampl
structure; xampl *ptr;
structure.x
= 12;
ptr =
&structure; // Yes, you need the & when dealing with structures
// and
using pointers to them
cout<<ptr->x;
// The -> acts somewhat like the * when used with pointers
//It
says, get whatever is at that memory address
//Not
"get what that memory address is"
cin.get();
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.