@coder-pig
2022-09-06T09:25:00.000000Z
字数 1479
阅读 804
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 国际许可协议发布,欢迎转载,
演绎或用于商业目的,但是必须保留本文的署名及链接。
