C 语言中局部范围内的结构是什么?


结构是不同数据类型变量的集合,以单一名称组合在一起。

结构声明的一般形式

结构声明如下 −

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

此处,struct 是关键字。

标签名指定结构的名称。

member1member2 指定构成结构的数据项。

示例

以下示例演示了在局部作用域中使用结构。

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

示例

以下程序演示了在局部作用域中使用结构。

 实时演示

#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("
enter the add of emp1:");    scanf("%s",emp1.add);    printf("
enter the salary of emp1:");    scanf("%d",&emp1.salary);    printf("
enter the name of emp2:");    // gets(emp2.name);    scanf("%s",emp2.name);    printf("
enter the add of emp2:");    scanf("%s",emp2.add);    printf("
enter the salary of emp2:");    scanf("%d",&emp2.salary);    printf("
emp1 salary is %d",emp1.salary);    printf("
emp2 salary is %d",emp2.salary);    printf("
manager salary is %d",manager());    return 0; }

输出

执行以上程序时,它会生成以下结果 −

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

更新于: 24-Mar-2021

806 次浏览

开启您的 职业生涯

完成课程即可获得认证

开始
广告