@coder-pig
2022-09-06T17:25:00.000000Z
字数 1479
阅读 421
C语言
本节引言:
上一节中,我们学习了复合数据类型中的 指针
,作为C语言的灵魂,务必要好好
掌握,看本教程是肯定不够的,通过练习的方式加深熟练度,后面学数据结构,
指针是必不可少的!!!本节我们来把剩下的几个复合数据类型过一过,他们
分别是:函数
,结构体
,共用体
,枚举类型
Tips:
空函数就是什么都不做的函数,一般我们开发中不需要立即实现的函数,我们可以
先写一个空函数放着先,简单的空函数示例: void abc(){ }
代码示例2:
建立一个共用体类型,当输入的时学生类型时,要求输入的是学生id,
当输入的是老师类型的时候,要求输入老师职称
#include <stdio.h>
union type
{
int cid; //班级
char title[20]; //职称
};
struct Person
{
char name[10]; //姓名
char sex; //性别
int age; //年龄
int flag; //标志是老师还是学生
union type tp;
};
int main()
{
struct Person person[10];
int i;
int num;
char ch;
printf("请输入要录入的人数:\n");
scanf("%d",&num);
for(i = 0;i<num;i++)
{
printf("请输入第%d个人员的信息:\n",i + 1);
printf("姓名: ");scanf("%s",&person[i].name);getchar();
printf("性别: ");scanf("%c",&person[i].sex);getchar();
printf("年龄: ");scanf("%d",&person[i].age);
printf("职业标识符: ");scanf("%d",&person[i].flag);
if(person[i].flag == 0)
{
printf("请输入学生的班级id: ");
scanf("%d",&person[i].tp.cid);
}
else if(person[i].flag == 1)
{
printf("请输入老师的职称: ");
scanf("%s",&person[i].tp.title);
}
else
{
printf("输入有误,请重新输入!\n");
i -= 1;
}
}
printf("\n输出所有录入人员的信息:\n");
for(i = 0;i<num;i++)
{
printf("输出第%d个人员的信息:\n",i + 1);
printf("姓名: ");puts(person[i].name);
printf("性别: ");printf("%c",person[i].sex);
printf("\t年龄: ");printf("%d",person[i].age);
if(person[i].flag == 0)
{
printf("\t学生的班级id: ");
printf("%d\n",person[i].tp.cid);
}
else if(person[i].flag == 1)
{
printf("\t老师的职称: ");
puts(person[i].tp.title);
}
}
return 0;
}
运行结果:
其实就是类型别名而已,一般是定义结构体的时候用得较多。
本文链接:小猪的C语言快速入门系列(六)
作者:Coder-Pig
出处:http://blog.csdn.net/coder_pig
本文基于知识共享署名-相同方式共享 4.0 国际许可协议发布,欢迎转载,
演绎或用于商业目的,但是必须保留本文的署名及链接。