You are on page 1of 9

# Chapter no.

Structure

##  In general, we can call a structure

is a collection of different types of
data.

##  A Structure contains number of

data types grouped together. These
data types may be or may not be of
same data type.

## • The keyword ‘struct’ is used for

creating a structure.
Syntax:
struct structure-name
{
datatype1 varname1;
datatype1 varname2;
datatype1 varname3;
};

## -1- By, Kute T. B. for CPR (FYIF) 2007-08

Chapter no. 4 Functions and Structures

Example:

struct list
{
int roll;
char name[10];
float marks;
};

Representation of structure:

roll Integer

marks Float

## -2- By, Kute T. B. for CPR (FYIF) 2007-08

Chapter no. 4 Functions and Structures

Arrays vs Structures

## • An array is the collection of

related data elements of same
type. Structure can have elements
in different types.

## • An array is derived data type,

whereas a structure is
programmer defined data type.

## • An array behaves like a built-in

data type. All we have to do is to
declare an array variable and use
it. But, in case of a structure, first
we have to design and declare
data structure before the variables
of that type are declared and used.

## -3- By, Kute T. B. for CPR (FYIF) 2007-08

Chapter no. 4 Functions and Structures

## Accessing Structure Members

struct list
{
int roll;
char name[10];
float marks;
};
struct list stu1, stu2;

stu1.roll = 12;
stu1.marks = 85.63;
strcpy(stu1.name, “Ajay”);

stu2.marks = 81.22;
stu2.roll = 10;
or
scanf(“%s”, stu2.name);
scanf(“%d”, &stu1.roll);
scanf(“%f”, &stu2.marks);

## -4- By, Kute T. B. for CPR (FYIF) 2007-08

Chapter no. 4 Functions and Structures

Valid declaration.

struct list {
int roll;
char name[10];
float marks;
};
struct list a , b , c;

It is equivalent to :

struct list {
int roll;
char name[10];
float marks;
} a, b, c;

## -5- By, Kute T. B. for CPR (FYIF) 2007-08

Chapter no. 4 Functions and Structures

Structure Initialization
struct player
{
int matches, runs;
char name[10];
float average;
};
struct player p1, p2, p3;

p1 = {120,3450,“Raj”,42.1};
p2 = {71,1492,“Ram”,35.81};

p1.average);

## -6- By, Kute T. B. for CPR (FYIF) 2007-08

Chapter no. 4 Functions and Structures

## Example: Creating a student database of 3

students.

void main( )

{
struct student {
int roll;
char name[10];
float marks;
} a, b, c;
printf(“Enter all information of students:” );
scanf(“%d %s %f”, &a.roll, a.name, &a.marks);
scanf(“%d %s %f”, &b.roll, b.name, &b.marks);
scanf(“%d %s %f”, &c.roll, c.name, &c.marks);

## printf(“You entered this information:”);

printf(“\n%d %s %f”, a.roll, a.name, a.marks);
printf(“\n%d %s %f”, b.roll, b.name, b.marks);
printf(“\n%d %s %f”, c.roll, c.name, c.marks);

## -7- By, Kute T. B. for CPR (FYIF) 2007-08

Chapter no. 4 Functions and Structures

Array of structures.
void main( )
{
struct student
{
int roll;
char name[10];
float marks;
} a[10];
int i;
printf(“Enter info. of students: ”);
for(i = 0 ; i < 10 ; i++)
{
scanf(“%d %s %f”, &a.roll[i],
a.name[i], &a.marks[i]);
}
for(i = 0 ; i < 10 ; i++)
{
printf(“\n%d %s %f”,
a.roll[i], a.name[i], a.marks[i]);
}
}

## -8- By, Kute T. B. for CPR (FYIF) 2007-08

Chapter no. 4 Functions and Structures

## Memory map for arrays.

i
a[i].roll a[i].name a[i].marks
0
1
a[4].roll
2
3

4
5
6
7
8 a[6].name

a[9].marks