C Sample File : Structure and Union

Structure :


// Program To Demonstrate Simple Structure

#include<stdio.h>
#include<conio.h>
struct student
{
     char name[10];
     char clas[10];
     int rno;
     int age;
};
void main()
{
     student s;
     clrscr();
     printf("Enter Name Of Student  : ");
     scanf("%s",s.name);
     printf("Enter Class Of Student : ");
     scanf("%s",s.clas);
     printf("Enter Roll No          : ");
     scanf("%d",&s.rno);
     printf("Enter Age Of Student   : ");
     scanf("%d",&s.age);
     printf("\n=============================\n");
     printf("Name  Class     RollNo    Age\n");
     printf("\n=============================\n");
     printf("%s",s.name);
     printf("\t%s",s.clas);
     printf("\t%d",s.rno);
     printf("\t%d",s.age);
     printf("\n=============================\n");
     getch();
}
Output :
Enter Name Of Student  : Dharminder
Enter Class Of Student : MCA
Enter Roll No          : 935
Enter Age Of Student   : 21
===================================
Name           Class   RollNo   Age
===================================
DharminderMCA   MCA     935     21
===================================


// Program To Demonstrate Array Of Structure

#include<stdio.h>
#include<conio.h>
struct student
{
     char name[10];
     char clas[10];
     int rno;
     int age;
};
void main()
{
     student s[10];
     int i,n;
     clrscr();
     printf("How Many Records       : ");
     scanf("%d",&n);
     for(i=0;i<n;i++)
     {
          printf("\nEnter %d Records\n",i+1);
          printf("\nEnter Name Of Student  : ");
          scanf("%s",s[i].name);
          printf("\nEnter Class Of Student : ");
          scanf("%s",s[i].clas);
          printf("\nEnter Roll No          : ");
          scanf("%d",&s[i].rno);
          printf("\nEnter Age Of Student   : ");
          scanf("%d",&s[i].age);
     }
     printf("\n=============================\n");
     printf("Name  Class     RollNo    Age\n");
     printf("\n=============================\n");
     for(i=0;i<n;i++)
     {
          printf("%s",s[i].name);
          printf("\t%s",s[i].clas);
          printf("\t%d",s[i].rno);
          printf("\t%d",s[i].age);
          printf("\n");
     }
     printf("\n=============================\n");
     getch();
}




Output :

How Many Records       : 2

Enter 1 Records

Enter Name Of Student  : Dharm

Enter Class Of Student : MCA

Enter Roll No          : 935

Enter Age Of Student   : 21

Enter 2 Records

Enter Name Of Student  : Happy

Enter Class Of Student : MCA

Enter Roll No          : 977

Enter Age Of Student   : 21

=============================
Name    Class   RollNo  Age

=============================
Dharm   MCA     935     21
Happy   MCA     977     21
=============================




// Program To Demonstrate Passing Array Of Structure To Functions

#include<stdio.h>
#include<conio.h>
struct student
{
     char name[10];
     char clas[10];
     int rno;
     int age;
};
student get(student[],int);
student show(student[],int);
int i;
void main()
{
     student s[10],s2[10];
     int i,n;
     clrscr();
     printf("How Many Records       : ");
     scanf("%d",&n);
     for(i=0;i<n;i++)
     {
          s2[i]=get(s,i);
     }
     printf("\n=============================\n");
     printf("Name  Class     RollNo    Age\n");
     printf("\n=============================\n");
     for(i=0;i<n;i++)
     {
          s2[i]=show(s,i);
     }
     printf("\n=============================\n");
     getch();
}

student get(student s[10],int i)
{
     printf("\nEnter %d Records\n",i+1);
     printf("\nEnter Name Of Student  : ");
     scanf("%s",s[i].name);
     printf("\nEnter Class Of Student : ");
     scanf("%s",s[i].clas);
     printf("\nEnter Roll No          : ");
     scanf("%d",&s[i].rno);
     printf("\nEnter Age Of Student   : ");
     scanf("%d",&s[i].age);
     return(s[i]);
}
student show(student s[10],int i)
{
     printf("%s",s[i].name);
     printf("\t%s",s[i].clas);
     printf("\t%d",s[i].rno);
     printf("\t%d",s[i].age);
     printf("\n\n");
     return(s[i]);
}
Output :

How Many Records       : 1

Enter 1 Records

Enter Name Of Student  : Dharminder

Enter Class Of Student : MCA

Enter Roll No          : 935

Enter Age Of Student   : 21

================================
Name        Class   RollNo  Age

================================
Dharminder  MCA      935    21
================================


// Program To Demonstrate Passing Structure By Value To Functions

#include<stdio.h>
#include<conio.h>
struct student
{
     char name[10];
     char clas[10];
     int rno;
     int age;
};
student show(student);
void main()
{
     student s1,s2={"Dharm","MCA",935,21};
     s1=show(s2);
     printf("\n=============================\n");
     printf("Name  Class     RollNo    Age\n");
     printf("\n=============================\n");
     printf("%s",s1.name);
     printf("\t%s",s1.clas);
     printf("\t%d",s1.rno);
     printf("\t%d",s1.age);
     printf("\n=============================\n");
}
student show(student s2)
{
     printf("Enter Name Of Student  : ");
     scanf("%s",s2.name);
     printf("Enter Class Of Student : ");
     scanf("%s",s2.clas);
     printf("Enter Roll No          : ");
     scanf("%d",&s2.rno);
     printf("Enter Age Of Student   : ");
     scanf("%d",&s2.age);
     return(s2);
}



Output :

Enter Name Of Student  : Dharminder
Enter Class Of Student : MCA
Enter Roll No          : 935
Enter Age Of Student   : 21

===============================
Name       Class   RollNo  Age
===============================
Dharminder MCA      935     21
===============================






// Program To Demonstrate Structure To Pointer

#include<stdio.h>
#include<conio.h>
struct student
{
     char name[10];
     char clas[10];
     int rno;
     int age;
};
void main()
{
     student *s[10];
     int i,n;
     clrscr();
     printf("How Many Records       : ");
     scanf("%d",&n);
     for(i=0;i<n;i++)
     {
          printf("\nEnter %d Records\n",i+1);
          printf("\nEnter Name Of Student  : ");
          scanf("%s",s[i]->name);
          printf("\nEnter Class Of Student : ");
          scanf("%s",s[i]->clas);
          printf("\nEnter Roll No          : ");
          scanf("%d",&s[i]->rno);
          printf("\nEnter Age Of Student   : ");
          scanf("%d",&s[i]->age);
     }
     printf("\n=============================\n");
     printf("Name  Class     RollNo    Age\n");
     printf("\n=============================\n");
     for(i=0;i<n;i++)
     {
          printf("%s",s[i]->name);
          printf("\t%s",s[i]->clas);
          printf("\t%d",s[i]->rno);
          printf("\t%d",s[i]->age);
          printf("\n");
     }
     printf("\n=============================\n");
     getch();
}



Output :

How Many Records       : 1

Enter 1 Records

Enter Name Of Student  : Dharminder

Enter Class Of Student : MCA

Enter Roll No          : 935

Enter Age Of Student   : 21

==============================
Name      Class   RollNo  Age

==============================
Dharminder MCA     935     21

==============================






Union

// Program To Demonstrate Unions

#include<stdio.h>
#include<conio.h>
union a
{
     int i;
     char ch[2];
};
void main()
{
     union a key;
     clrscr();
     key.i=512;
     printf("\nkey.i     = %d",key.i);
     printf("\nkey.ch[0] = %d",key.ch[0]);
     printf("\nkey.ch[1] = %d",key.ch[1]);
     key.ch[0]=50;
     printf("\nkey.i     = %d",key);
     printf("\nkey.ch[0] = %d",key.ch[0]);
     printf("\nkey.ch[1] = %d",key.ch[1]);
     getch();
}

Output :

key.i     = 512
key.ch[0] = 0
key.ch[1] = 2
key.i     = 562
key.ch[0] = 50
key.ch[1] = 2



// Program To Demonstrate Stucture & Union

#include<stdio.h>
#include<conio.h>
void main()
{
     struct a
     {
          int i;
          char c[2];
     };
     struct b
     {
          int j;
          char d[2];
     };
     union z
     {
          struct a key;
          struct b data;
     };
     union z str;
     str.key.i=512;
     str.data.d[0]=0;
     str.data.d[1]=32;
     printf("\n%d",str.key.i);
     printf("\n%d",str.data.j);
     printf("\n%d",str.key.c[0]);
     printf("\n%d",str.data.d[0]);
     printf("\n%d",str.key.c[1]);
     printf("\n%d",str.data.d[1]);
     getch();
}

Output :

512
512
0
0
32
32



Comments

Popular Posts