You are on page 1of 9

Chapter no.

4 Functions and Structures

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.

C’s Implementation of Structure

• The keyword ‘struct’ is used for


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

creating the variables of structure:

struct structure-name var1, var2, var3;

-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

name Array of 10 characters

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};

printf(“Average of %s is %f”, p1.name,


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

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