Computer >> Computer tutorials >  >> Programming >> C programming

What is a structure at local scope in C language?


Structure is a collection of different datatype variables, grouped together under a single name.

General form of structure declaration

The structure declaration is as follows −

struct tagname{
   datatype member1;
   datatype member2;
   datatype member n;
};

Here, struct is the keyword.

tagname specifies name of structure.

member1, member2 specifies the data items that make up structure.

Example

The following example shows the usage of the structure at a local scope.

struct book{
   int pages;
   char author [30];
   float price;
};

Example

The following program shows the usage the structure at a local scope.

#include<stdio.h>
struct{
   char name[20];
   int age;
   int salary;
   char add[30];
}emp1,emp2;
int manager(){
   struct{ //structure at local scope
   char name[20];
   int age;
   int salary;
   char add[50];
}manager ;
manager.age=27;
if(manager.age>30)
   manager.salary=650000;
else
   manager.salary=550000;
return manager.salary;
}
int main(){
   printf("enter the name of emp1:");
   //gets(emp1.name);
   scanf("%s",emp1.name);
   printf("\nenter the add of emp1:");
   scanf("%s",emp1.add);
   printf("\nenter the salary of emp1:");
   scanf("%d",&emp1.salary);
   printf("\nenter the name of emp2:");
   // gets(emp2.name);
   scanf("%s",emp2.name);
   printf("\nenter the add of emp2:");
   scanf("%s",emp2.add);
   printf("\nenter the salary of emp2:");
   scanf("%d",&emp2.salary);
   printf("\nemp1 salary is %d",emp1.salary);
   printf("\nemp2 salary is %d",emp2.salary);
   printf("\nmanager salary is %d",manager());
   return 0;
}

Output

When the above program is executed, it produces the following result −

enter the name of emp1:Bob
enter the add of emp1:Hyderabad
enter the salary of emp1:500000
enter the name of emp2:Hari
enter the add of emp2:Chennai
enter the salary of emp2:450000
emp1 salary is 500000
emp2 salary is 450000
manager salary is 550000