CSC COMPUTER EDUCATION,
M.K.B.NAGAR
Session Objectives
Define Structure
Create Structure variable
Access structure member using . operator
Array of Structures, passing structure to functions
Nested Structures
CSC COMPUTER EDUCATION,
M.K.B.NAGAR
Structure are collection of different datatype
grouped together under a single variable name for
convienient handling. 'struct' is a keyword, struct type
is a name which identifies the structure.
syntax :
struct <structure name or tagname>
{
datatype member1;
datatype member2;
};
struct book
{
int pages;
char bookname[10];
char author[20];
float price;
};
CSC COMPUTER EDUCATION,
M.K.B.NAGAR
J A V A H A U N T E R
Book Name
CSC COMPUTER EDUCATION,
M.K.B.NAGAR
Author Name
467
Pages
Individual structure type variables can be declared as
follows:
Syntax :
struct structurename variable1, variable2, ..... variable n;
Example
Struct book b1;
/* b1 is a structure variable name */
Member variables can be accessed using the dot or period
operator as follows:
Syntax :
Stru_variablename.membername;
Example
B1.pages=400;
B1.price=450.00;
CSC COMPUTER EDUCATION,
M.K.B.NAGAR
Write a Program the create the Account Details using Structure?
#include<stdio.h>
struct amount
{
int ac_no;
char name[10];
int balance;
};
void main()
{
struct amount v;
printf("\nEnter the account Details");
scanf("%d%s%d",&v.ac_no,&v.name, &v.balance);
printf("The values are %d%s%d",v.ac_no,
v.name, v.balance);
printf("%d",sizeof(struct amount));
}
CSC COMPUTER EDUCATION,
M.K.B.NAGAR
Write a program to create student structure
#include<stdio.h>
struct stud
{
int id;
char name[20];
int mark1,mark2,mark3;
int total;
int avg;
}b;
void main()
{
printf("\nEnter the student details");
scanf("%d %s %d %d %d",&b.id,&b.name,
&b.mark1,&b.mark2,&b.mark3);
b.total=b.mark1+b.mark2+b.mark3;
b.avg=b.total/3;
printf("%d %s %d %d %d",b.id,b.name, b.mark1, b.mark2,
b.mark3);
CSC COMPUTER EDUCATION,
M.K.B.NAGAR
}
Initializing Structures
Like variables and arrays, structure variables can be initialized at the
beginning of the program.
The
Consider
variable
the emp1
following
and emp2
program
of the
: type employee can be initialized
when it is declared as
CSC COMPUTER EDUCATION,
M.K.B.NAGAR
Array of structures are defined as a group of data of
different data types stored in a consecutive memory location with a
common variable name.
For Example,
struct employee
{
int empno;
char empname[20];
char deptname[10];
float salary;
}emp[5];
CSC COMPUTER EDUCATION,
M.K.B.NAGAR
Passing Structures as Arguments
A structure variable can be passed as an argument to
another function
This is a useful facility and it is used to pass groups of
logically related data items together instead of passing
them one by one.
CSC COMPUTER EDUCATION,
M.K.B.NAGAR
/*PASSING STRUCTURES TO FUNCTION ARGUMENTS*/
#include<stdio.h>
struct record
{
char *name;
int acct_no;
char acct_type;
float bal;
};
struct record fun(struct record);
void main(){
struct record c;
printf("\n Enter Details");
scanf("%s%d%c%f",c.name,&c.acct_no, &c.acct_type, &c.bal);
c=fun(c); //calling
printf("\n%s %d %c %f",c.name,c.acct_no,c.acct_type,c.bal);
} CSC COMPUTER EDUCATION,
M.K.B.NAGAR
struct record fun(struct record r)
{
r.name="Raja";
r.acct_no=1567;
r.acct_type='R';
r.balance=900.00;
return(r);
}
CSC COMPUTER EDUCATION,
M.K.B.NAGAR
Passing the structure member as a
parameter to the function
#include<stdio.h>
#include<stdlib.h>
typedef struct stud
{
int roll_no;
char name[20];
float marks;
}student;
student st;
void print_rec(int,char [],float);
void main()
{
char ans;
clrscr();
do
{
printf("\n \t Enter the record");
printf("\n Enter the Roll Number");
scanf("%d",&st.roll_no);
printf("\n Enter the Name");
CSC COMPUTER EDUCATION,
scanf("%s",st.name);
M.K.B.NAGAR
printf("\n Enter the Marks");
scanf("%f",&st.marks);
print_rec(st.roll_no,st.name,st.marks);
printf("\n Do U Want to store the More
record ");
ans=getche();
}while(ans=='y');
}
void print_rec(int r,char n[],float m)
{
printf("\n You have Entered Following
record");
printf("\n %d %s %f",r,n,m);
}
Nested Structure
A structure within another structure is called Nesting of
structures.The declaration of the embedded structure must appear before
the declaration of the outer structure.
Example
Struct date
{
int month;
int day;
int year;
};
struct account
{
int acc_no;
char name[40];
char acc_type;
float balance;
struct date dob;
CSC COMPUTER EDUCATION,
}M.K.B.NAGAR
customer;
/* NESTED STRUCTURES
A structure within another
structure */
#include<stdio.h>
struct dob {
int date;
int month;
int year; };
struct stud{
int sno;
char sname[10];
struct dob sdob;
char sex; };
void main()
{
struct stud s;
clrscr();
CSC COMPUTER EDUCATION,
printf("enter
the sno\n");
M.K.B.NAGAR
scanf("%d",&s.sno);
printf("enter the sname\n");
scanf("%s",s.sname);
printf("enter the dob\n");
scanf("%d%d%d %c",&s.sdob.date,
&s.sdob.month,&s.sdob.year,&s.sex);
printf("%d\t %s\t %d %d %d \t
%c", s.sno, s.sname, s.sdob.date,
s.sdob.month, s.sdob.year, s.sex);
getch();
}
Session Summary
The keyword “struct” begins the structure definition followed by the tag(i.e strcture
name) within the braces the structure members are declared
The structure definition create a new data type that can be used to declare variables.
A member of structure is always referred and accessed using the member access
operator(.) via the structure variable name
A structure containing a member that is a pointer to the same structure type is called
as a self referential structure.
The structure pointer operator () is used when accessing a member of a structure via
a pointer to the structure
CSC COMPUTER EDUCATION,
M.K.B.NAGAR
EXERCISES
1.
Define a structure in C that contains the following:
a.
An integer quantity called “Won”
b.
An integer quantity called “Lost”
c.
A floating quantity called “Lost”
d.
An array of characters to hold the name
Include the user defined data type record within the definition?
2. Define a structure called student that will describe the following information student
name,class,rollno, subject marks & total. Using student declare an array stu_list
with 30 elements. Write program in C to read the information about all the 30
students and to display the information?
CSC COMPUTER EDUCATION,
M.K.B.NAGAR
© Copyright 2026 Paperzz