SlideShare a Scribd company logo
1 of 9
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

Similar to Structure.pptx

Chapter 13.1.9
Chapter 13.1.9Chapter 13.1.9
Chapter 13.1.9patcha535
 
Structure in c language
Structure in c languageStructure in c language
Structure in c languagesangrampatil81
 
Lk module4 structures
Lk module4 structuresLk module4 structures
Lk module4 structuresKrishna Nanda
 
C programing -Structure
C programing -StructureC programing -Structure
C programing -Structureshaibal sharif
 
Chapter 7 (Part I) - User Defined Datatypes.pdf
Chapter 7 (Part I) - User Defined Datatypes.pdfChapter 7 (Part I) - User Defined Datatypes.pdf
Chapter 7 (Part I) - User Defined Datatypes.pdfTamiratDejene1
 
Advanced c#
Advanced c#Advanced c#
Advanced c#saranuru
 
structures and unions in 'C'
structures and unions in 'C'structures and unions in 'C'
structures and unions in 'C'illpa
 
Str
StrStr
StrAcad
 
STRUCTURE AND UNION IN C MRS.SOWMYA JYOTHI.pdf
STRUCTURE AND UNION IN C MRS.SOWMYA JYOTHI.pdfSTRUCTURE AND UNION IN C MRS.SOWMYA JYOTHI.pdf
STRUCTURE AND UNION IN C MRS.SOWMYA JYOTHI.pdfSowmyaJyothi3
 
CSharp for Unity Day 3
CSharp for Unity Day 3CSharp for Unity Day 3
CSharp for Unity Day 3Duong Thanh
 
structenumtypedefunion.pptx
structenumtypedefunion.pptxstructenumtypedefunion.pptx
structenumtypedefunion.pptxKUPPALAPADMINI
 

Similar to Structure.pptx (20)

Chapter 13.1.9
Chapter 13.1.9Chapter 13.1.9
Chapter 13.1.9
 
SPC Unit 5
SPC Unit 5SPC Unit 5
SPC Unit 5
 
C structure and union
C structure and unionC structure and union
C structure and union
 
Structure in c language
Structure in c languageStructure in c language
Structure in c language
 
structures_v1.ppt
structures_v1.pptstructures_v1.ppt
structures_v1.ppt
 
structures_v1.ppt
structures_v1.pptstructures_v1.ppt
structures_v1.ppt
 
Lk module4 structures
Lk module4 structuresLk module4 structures
Lk module4 structures
 
C programing -Structure
C programing -StructureC programing -Structure
C programing -Structure
 
User defined data types.pptx
User defined data types.pptxUser defined data types.pptx
User defined data types.pptx
 
Chapter 7 (Part I) - User Defined Datatypes.pdf
Chapter 7 (Part I) - User Defined Datatypes.pdfChapter 7 (Part I) - User Defined Datatypes.pdf
Chapter 7 (Part I) - User Defined Datatypes.pdf
 
Advanced c#
Advanced c#Advanced c#
Advanced c#
 
structures and unions in 'C'
structures and unions in 'C'structures and unions in 'C'
structures and unions in 'C'
 
C Structures & Unions
C Structures & UnionsC Structures & Unions
C Structures & Unions
 
Unit 1_ADC.pptx
Unit 1_ADC.pptxUnit 1_ADC.pptx
Unit 1_ADC.pptx
 
Str
StrStr
Str
 
9.structure & union
9.structure & union9.structure & union
9.structure & union
 
STRUCTURE AND UNION IN C MRS.SOWMYA JYOTHI.pdf
STRUCTURE AND UNION IN C MRS.SOWMYA JYOTHI.pdfSTRUCTURE AND UNION IN C MRS.SOWMYA JYOTHI.pdf
STRUCTURE AND UNION IN C MRS.SOWMYA JYOTHI.pdf
 
CSharp for Unity Day 3
CSharp for Unity Day 3CSharp for Unity Day 3
CSharp for Unity Day 3
 
structenumtypedefunion.pptx
structenumtypedefunion.pptxstructenumtypedefunion.pptx
structenumtypedefunion.pptx
 
Programming in C
Programming in CProgramming in C
Programming in C
 

Recently uploaded

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dashnarutouzumaki53779
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dash
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 

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;