Chapter: Object Oriented Programming and Data Structure : Data Abstraction & Overloading

Structures

The format for defining a structure is struct Tag { Members };

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();

}

Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail
Object Oriented Programming and Data Structure : Data Abstraction & Overloading : Structures |


Privacy Policy, Terms and Conditions, DMCA Policy and Compliant

Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.