使用 C 语言编写局部作用域程序中的结构体
结构体是由不同数据类型变量的集合,这些变量组合在一起并使用一个名称来标识。
结构体的特性
下面解释了结构体的特性:
可以使用赋值运算符将不同数据类型的所有结构体元素的内容复制到另一个相同类型的结构体变量中。
对于处理复杂数据类型,最好在一个结构体中创建另一个结构体,这被称为嵌套结构体。
可以将整个结构体、结构体的单个元素以及结构体的地址传递给函数。
还可以创建结构体指针。
结构体的声明
结构体声明的通用形式如下所示:
datatype member1;
struct tagname{
datatype member2;
datatype member n;
};这里,**struct** 是关键字。
**tagname** 指定结构体的名称。
**member1, member2** 是数据项。
例如:
struct book{
int pages;
char author [30];
float price;
};示例
以下是局部作用域结构体的 C 程序:
#include<stdio.h>
struct{
char name[20];
int age;
int salary;
char add[30];
}emp1,emp2;
int manager(){
struct{
char name[20];
int age;
int salary;
char add[50];
}manager ;
manager.age=27;
if(manager.age>30)
manager.salary=65000;
else
manager.salary=55000;
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:hari enter the add of emp1:hyderabad enter the salary of emp1:4000 enter the name of emp2:lucky enter the add of emp2:chennai enter the salary of emp2:5000 emp1 salary is 4000 emp2 salary is 5000 manager salary is 55000
广告
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP