SlideShare a Scribd company logo
STRUCTURE
WHY STRUCTURE?
 Data structures are a feature that can be used to represent databases, especially if we consider the
possibility of building arrays of them:
 The structure tag can be any legal identifier (but not a keyword).
 The name of a structure type is called the structure tag.
 The identifiers declared inside the braces,{ }, are called member names.
 A structure type definition ends with both a brace, }, and a semicolon.
 Once a structure type definition has been given, the structure type can be used just like the
predefined types int, char, and so forth.
 A structure variable can hold values just like any other variable can hold values.
 A structure value is a collection of smaller values called member values.
 There is one member value for each member name declared in the structure definition.
 A structure definition is usually placed outside of any function definition. The structure type is then available to all the code that
follows the structure definition.
struct Structure_Tag
{
Type_1 Member_Variable_Name_1;
Type_2 Member_Variable_Name_2;
.
.
.
Type_Last Member_Variable_Name_Last;
}[variablename,anothervariableifany]; // }[variablename,anothervariableifany] is optional
 Variables of a structure type can be declared in the same way as variables of other types.
struct course{
string coursename;
string ccode;
int Ects, Chour;
};
INITIALIZATION
Struct Date{
int day, month,year;
};
 Date due_date = {12, 31, 2004};
 Date anotherDate=due_date;
 It is an error if there are more initializers than struct members. If there
 are fewer initializer values than struct members, the provided values are used
 to initialize data members, in order. Each data member without an initializer
 is initialized to a zero value of an appropriate type for the variable.
 The structure type is then available to all the code that follows the structure definition.
 Two or more structure types may use the same member names.
struct FertilizerStock
{
double quantity;
double nitrogen_content;
};
struct CropYield
{
int quantity;
double size;
};
 This coincidence of names will produce no problems. Why?
 The dot operator is used to specify a member variable of a structure variable.
 Structure_Variable_Name.Member_Variable_NameEXAMPLES
 Structure_Variable_Name.Member_Variable_Name
 EXAMPLES
struct StudentRecord
{
int student_number;
char grade;
};
int main( )
{
StudentRecord your_record;
your_record.student_number = 2001;
your_record.grade = 'A';
Some writers call the dot operator the structure member access operator although we will not
use that term.
 You must also place a semicolon after that final brace.
 A structure definition is more than a definition. It can also be used to declare structure variables.
 A function can have call-by-value parameters of a structure type and/or call by-reference parameters of a
structure type.
 A function can have call-by-value parameters of a structure type and/or call by- reference parameters of a
structure type.
 A structure type can also be the type for the value returned by a function.
 Sometimes it makes sense to have structures whose members are themselves smaller structures.
struct Date
{
int month;
int day;
int year;
};
struct PersonInfo
{
double height;//in inches
int weight;//in pounds
Date birthday;
};
PersonInfo person1;
cout << person1.birthday.year;
POINTERS TO ACCESS DATA WITHIN A STRUCTURE.
Date *d;
(*d).month=12;
D-->month=12;
Student * members = new student[100];
//contributions is a structure;
members[i].batch=2009;
Or
*(members+i)-->batch= 2009;
members[i]->batch= 2009; //Using both [] and -> doesn't work
because then you'd be dereferencing twice.
ARRAY OF STRUCTURES
 It is possible to have an array of structures. As StructureName arrayName[size];
 To access arrayName[index].memebervariable
Struct student {
. . .
. . .
} st[100];
To access members you can use st[0].member=value;
e.g.
personInfo persons[100];
persons[0].height=1.83;
persons[5].weight=75;

More Related Content

PPTX
Structure prespentation
PPTX
Chapter 2 part II array and structure.pptx
PPTX
ECE2102-Week13 - 14-Strhhhhhhhjjjucts.pptx
PDF
Chapter 13.1.9
PPTX
User defined data types.pptx
PPTX
Cs1123 12 structures
PPT
Lecture number three Structures (1).ppt
PPTX
Programming in C session 3
Structure prespentation
Chapter 2 part II array and structure.pptx
ECE2102-Week13 - 14-Strhhhhhhhjjjucts.pptx
Chapter 13.1.9
User defined data types.pptx
Cs1123 12 structures
Lecture number three Structures (1).ppt
Programming in C session 3

Similar to Structure.pptx (20)

PDF
unit 5.pdf structure pdf is here you can do this
DOC
Unit 5 (1)
PPT
CHAPTER-7 C++ PROGRAMMING ( STRUCTURE IN C++)
PPTX
CHAPTER -4-class and structure.pptx
PPTX
detail structure presentation of problem solving
PPTX
12Structures.pptx
PPTX
Week2a.pptx
PPTX
Engineering Computers - L29-Structures.pptx
PPT
C Language_PPS_3110003_unit 8ClassPPT.ppt
PPTX
Basic of Structure,Structure members,Accessing Structure member,Nested Struct...
PPTX
Ch7Structs.pptx
PDF
Structures in c++
PPTX
Chapter4.pptx
PPT
SPC Unit 5
PDF
Structures in c++
PDF
Chapter 4 - Structures - Student.pdf - slides
PPTX
Structures
PPTX
Structures and Unions
PDF
Lk module4 structures
PPT
Lecture 04
unit 5.pdf structure pdf is here you can do this
Unit 5 (1)
CHAPTER-7 C++ PROGRAMMING ( STRUCTURE IN C++)
CHAPTER -4-class and structure.pptx
detail structure presentation of problem solving
12Structures.pptx
Week2a.pptx
Engineering Computers - L29-Structures.pptx
C Language_PPS_3110003_unit 8ClassPPT.ppt
Basic of Structure,Structure members,Accessing Structure member,Nested Struct...
Ch7Structs.pptx
Structures in c++
Chapter4.pptx
SPC Unit 5
Structures in c++
Chapter 4 - Structures - Student.pdf - slides
Structures
Structures and Unions
Lk module4 structures
Lecture 04

Recently uploaded (20)

PDF
Google’s NotebookLM Unveils Video Overviews
PDF
REPORT: Heating appliances market in Poland 2024
PDF
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
PDF
Enable Enterprise-Ready Security on IBM i Systems.pdf
PDF
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
PDF
Revolutionize Operations with Intelligent IoT Monitoring and Control
PDF
Smarter Business Operations Powered by IoT Remote Monitoring
PPTX
How Much Does It Cost to Build a Train Ticket App like Trenitalia in Italy.pptx
PPTX
CroxyProxy Instagram Access id login.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Event Presentation Google Cloud Next Extended 2025
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
PDF
Dell Pro 14 Plus: Be better prepared for what’s coming
PDF
Chapter 2 Digital Image Fundamentals.pdf
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
PDF
CIFDAQ's Token Spotlight: SKY - A Forgotten Giant's Comeback?
Google’s NotebookLM Unveils Video Overviews
REPORT: Heating appliances market in Poland 2024
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
A Day in the Life of Location Data - Turning Where into How.pdf
Enable Enterprise-Ready Security on IBM i Systems.pdf
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
Revolutionize Operations with Intelligent IoT Monitoring and Control
Smarter Business Operations Powered by IoT Remote Monitoring
How Much Does It Cost to Build a Train Ticket App like Trenitalia in Italy.pptx
CroxyProxy Instagram Access id login.pptx
Understanding_Digital_Forensics_Presentation.pptx
Event Presentation Google Cloud Next Extended 2025
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Dell Pro 14 Plus: Be better prepared for what’s coming
Chapter 2 Digital Image Fundamentals.pdf
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
CIFDAQ's Token Spotlight: SKY - A Forgotten Giant's Comeback?

Structure.pptx

  • 2.  Data structures are a feature that can be used to represent databases, especially if we consider the possibility of building arrays of them:  The structure tag can be any legal identifier (but not a keyword).  The name of a structure type is called the structure tag.  The identifiers declared inside the braces,{ }, are called member names.  A structure type definition ends with both a brace, }, and a semicolon.  Once a structure type definition has been given, the structure type can be used just like the predefined types int, char, and so forth.  A structure variable can hold values just like any other variable can hold values.
  • 3.  A structure value is a collection of smaller values called member values.  There is one member value for each member name declared in the structure definition.  A structure definition is usually placed outside of any function definition. The structure type is then available to all the code that follows the structure definition. struct Structure_Tag { Type_1 Member_Variable_Name_1; Type_2 Member_Variable_Name_2; . . . Type_Last Member_Variable_Name_Last; }[variablename,anothervariableifany]; // }[variablename,anothervariableifany] is optional  Variables of a structure type can be declared in the same way as variables of other types. struct course{ string coursename; string ccode; int Ects, Chour; };
  • 4. INITIALIZATION Struct Date{ int day, month,year; };  Date due_date = {12, 31, 2004};  Date anotherDate=due_date;  It is an error if there are more initializers than struct members. If there  are fewer initializer values than struct members, the provided values are used  to initialize data members, in order. Each data member without an initializer  is initialized to a zero value of an appropriate type for the variable.
  • 5.  The structure type is then available to all the code that follows the structure definition.  Two or more structure types may use the same member names. struct FertilizerStock { double quantity; double nitrogen_content; }; struct CropYield { int quantity; double size; };  This coincidence of names will produce no problems. Why?
  • 6.  The dot operator is used to specify a member variable of a structure variable.  Structure_Variable_Name.Member_Variable_NameEXAMPLES  Structure_Variable_Name.Member_Variable_Name  EXAMPLES struct StudentRecord { int student_number; char grade; }; int main( ) { StudentRecord your_record; your_record.student_number = 2001; your_record.grade = 'A'; Some writers call the dot operator the structure member access operator although we will not use that term.
  • 7.  You must also place a semicolon after that final brace.  A structure definition is more than a definition. It can also be used to declare structure variables.  A function can have call-by-value parameters of a structure type and/or call by-reference parameters of a structure type.  A function can have call-by-value parameters of a structure type and/or call by- reference parameters of a structure type.  A structure type can also be the type for the value returned by a function.  Sometimes it makes sense to have structures whose members are themselves smaller structures.
  • 8. struct Date { int month; int day; int year; }; struct PersonInfo { double height;//in inches int weight;//in pounds Date birthday; }; PersonInfo person1; cout << person1.birthday.year; POINTERS TO ACCESS DATA WITHIN A STRUCTURE. Date *d; (*d).month=12; D-->month=12; Student * members = new student[100]; //contributions is a structure; members[i].batch=2009; Or *(members+i)-->batch= 2009; members[i]->batch= 2009; //Using both [] and -> doesn't work because then you'd be dereferencing twice.
  • 9. ARRAY OF STRUCTURES  It is possible to have an array of structures. As StructureName arrayName[size];  To access arrayName[index].memebervariable Struct student { . . . . . . } st[100]; To access members you can use st[0].member=value; e.g. personInfo persons[100]; persons[0].height=1.83; persons[5].weight=75;