Accessing structure Member:
structure_variable.member;
Difference between structure and array:
S.No. Array Structure
1. It is a collection of similar data items. it is collection of dissimilar data items
2. It is derived data type. It is a user defined data type.
3. It behaves like a built-in data types. It must be declared and defined.
4. An array can be increase or decrease. Its members can be added.
Example:
//Student Details using Structure
struct stud
{
int regno,m1,m2,m3,total;
char name[20],result[5];
};
void main()
{
struct stud s1,s2;
printf("\nStructures");
printf("\nEnter the Regno, Name:");
scanf("%d%s",&s1.regno,s1.name);
printf("\nEnter the Mark1, Mark2, Mark3:");
scanf("%d%d%d",&s1.m1,&s1.m2,&s1.m3);
s1.total=s1.m1+s1.m2+s1.m3;
if(s1.m1<50||s1.m2<50||s1.m3<50)
strcpy(s1.result,"Fail");
else
strcpy(s1.result,"Pass");
s2=s1; //Assigning structure
printf("Regno\tName\tMark1\tMark2\tMark3\tTotal\tResult\n");
printf("%d\t%s\t%d\t%d\t%d\t%d\t%s",s1.regno,s1.name,s1.m1,s1.m2,s1.m3,s1.total,s1.result);
printf("\nStructure--2");
printf("\nRegno\tName\tMark1\tMark2\tMark3\tTotal\tResult\n");
printf("%d\t%s\t%d\t%d\t%d\t%d\t%s",s2.regno,s2.name,s2.m1,s2.m2,s2.m3,s2.total,s2.result);
getch();
}
OUTPUT:
Enter the Regno, Name:345
kumar
Enter the Mark1, Mark2, Mark3:67
78
61
Regno Name Mark1 Mark2 Mark3 Total Result
345 kumar 67 78 61 206 Pass
Structure--2
Regno Name Mark1 Mark2 Mark3 Total Result
345 kumar 67 78 61 206 Pass
Structure within structure:
A structure can be declared within another structure.
It is also called nesting of structure.
The structure variables can be normal variable or pointer variable.