C(6)

来源:互联网 发布:wow7.0采集数据库 编辑:程序博客网 时间:2024/06/15 20:32

其他数据类型:

本节引言:

上一节我们对C语言中的指针进行了初步的了解,学习了指针的定义,与普通变量

一维数组,二维数组,字符串之间的使用!在本节中我们将会学习一些新的知识点,

函数,结构体与共用体,枚举类型以及类型定义符typedef!



本节学习路线图:




本节正文



函数




ps:空函数就是什么都不做的函数,开发过程中不需要马上实现的,先写空函数!简单的空函数:void abc(){   }




结构体




共用体:






代码示例2:

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

代码如下:

  1. <span style="font-family:Microsoft YaHei;">#include <stdio.h>  
  2. union type  
  3. {  
  4.     int cid;  //班级  
  5.     char title[20];  //职称   
  6. };  
  7.   
  8. struct Person  
  9. {  
  10.     char name[10];  //姓名  
  11.     char sex;  //性别  
  12.     int age;   //年龄  
  13.     int flag;  //标志是老师还是学生   
  14.     union type tp;  
  15. };  
  16.   
  17. int main()  
  18. {  
  19.     struct Person person[10];  
  20.     int i;  
  21.     int num;  
  22.     char ch;  
  23.     printf("请输入要录入的人数:\n");  
  24.     scanf("%d",&num);  
  25.     for(i = 0;i<num;i++)  
  26.     {  
  27.         printf("请输入第%d个人员的信息:\n",i + 1);  
  28.         printf("姓名: ");scanf("%s",&person[i].name);getchar();  
  29.         printf("性别: ");scanf("%c",&person[i].sex);getchar();  
  30.         printf("年龄: ");scanf("%d",&person[i].age);  
  31.         printf("职业标识符: ");scanf("%d",&person[i].flag);  
  32.         if(person[i].flag == 0)  
  33.         {  
  34.             printf("请输入学生的班级id:   ");  
  35.             scanf("%d",&person[i].tp.cid);  
  36.         }  
  37.         else if(person[i].flag == 1)  
  38.         {  
  39.             printf("请输入老师的职称:   ");  
  40.             scanf("%s",&person[i].tp.title);  
  41.         }  
  42.         else  
  43.         {  
  44.             printf("输入有误,请重新输入!\n");  
  45.             i -= 1;  
  46.         }  
  47.     }  
  48.     printf("\n输出所有录入人员的信息:\n");  
  49.       
  50.     for(i = 0;i<num;i++)  
  51.     {  
  52.         printf("输出第%d个人员的信息:\n",i + 1);  
  53.         printf("姓名: ");puts(person[i].name);  
  54.         printf("性别: ");printf("%c",person[i].sex);  
  55.         printf("\t年龄: ");printf("%d",person[i].age);  
  56.         if(person[i].flag == 0)  
  57.         {  
  58.             printf("\t学生的班级id:   ");  
  59.             printf("%d\n",person[i].tp.cid);  
  60.         }  
  61.         else if(person[i].flag == 1)  
  62.         {  
  63.             printf("\t老师的职称:   ");  
  64.             puts(person[i].tp.title);  
  65.         }  
  66.     }  
  67.     return 0;  
  68. }</span>  


运行截图:




C语言枚举:





类型定义符(typedef)






小结:

1.函数

①函数的引入,分类,定义使用,函数声明

②函数的传值与传址

③函数的嵌套与递归


2.结构体

①结构体的引入,类型定义与结构体变量的定义

②结构体变量的初始化,引用(通过.)

③结构体数组的使用


3.共用体

①共用体与结构体的异同

②共用体的理解

③共用体的使用


4.枚举

①枚举的引入,使用,枚举值


5.类型定义符

typedef(定义数据类型别名)

通常用的比较多的是定义结构体的别名!


本文借鉴:http://blog.csdn.net/coder_pig/article/details/37807971

0 0