小猪的C语言快速入门系列(六)

小猪的C语言快速入门系列(六)

标签: C语言


本节引言

上一节中,我们学习了复合数据类型中的 指针,作为C语言的灵魂,务必要好好
掌握,看本教程是肯定不够的,通过练习的方式加深熟练度,后面学数据结构,
指针是必不可少的!!!本节我们来把剩下的几个复合数据类型过一过,他们
分别是:函数结构体共用体枚举类型


本节学习路线图

小猪的C语言快速入门系列(六)_第1张图片


函数

小猪的C语言快速入门系列(六)_第2张图片

Tips

空函数就是什么都不做的函数,一般我们开发中不需要立即实现的函数,我们可以
先写一个空函数放着先,简单的空函数示例: void abc(){ }


结构体

小猪的C语言快速入门系列(六)_第3张图片


共用体

小猪的C语言快速入门系列(六)_第4张图片

代码示例2
建立一个共用体类型,当输入的时学生类型时,要求输入的是学生id,
当输入的是老师类型的时候,要求输入老师职称

#include   
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;iprintf("请输入第%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;iprintf("输出第%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语言快速入门系列(六)_第5张图片


枚举

小猪的C语言快速入门系列(六)_第6张图片


类型定义符(typedef)

其实就是类型别名而已,一般是定义结构体的时候用得较多。

小猪的C语言快速入门系列(六)_第7张图片


本文链接:小猪的C语言快速入门系列(六)
作者:Coder-Pig
出处:http://blog.csdn.net/coder_pig
本文基于知识共享署名-相同方式共享 4.0 国际许可协议发布,欢迎转载,
演绎或用于商业目的,但是必须保留本文的署名及链接。

你可能感兴趣的:(C语言快速入门,C语言快速入门系列)