• C语言基础---特殊的变量类型(结构体、枚举、共用体)


    1.结构体

      C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体,在其他一些高级语言中称为“记录”。

    struct Student
    {
        int num;
        char name[20];
        char sex;
        int age;
        float score;
        char addr[30];
    };

      声明一个结构体类型一般形式为:

      struct 结构体名

        {成员列表};

    注意:结构体类型的名字是由一个关键字struct 和结构体名组合而成的(例如struct Student),其中Student就是结构体名,但是这个变量的数据类型是struct Student。

    结构体变量的引用由两种方式:①用“.”符号,结构体变量.结构体内的成员变量;②用“->”符号,结构体指针变量名->结构体成员变量。

    2.共用体

      有时候想用一段内存单元存放不同类型的变量。例如把一个短整型变量,一个字符型变量和一个实型变量放在同一个地址开始的内存单元中。以上三个变量在内存中占得字节数不同,但都是从同一地址开始存放,也就是使用覆盖技术,后一个数据覆盖了前一个数据。这种使几个不同的变量共享同一段内存的结构成为“共用体”类型的结构。

      定义公用特类型变量的方式一般如下:

    union 共用体名
    {
        成员表列;
    }变量表列;

      结构体变量所占得内存长度是各成员占得内存长度之和,而共用体所占得内存长度等于最长的成员长度。

      引用共用体变量的方式:只有先定义了共用体变量才能引用它,但应注意,不能引用共用体变量,而只能引用共用体变量中的成员。

    共用体类型数据的特点:

      (1)同一个内存段可以用来存放不同类型的成员,但在每一瞬时只能存放其中一个成员,而不是同时存放几个;

      (2)可以对共用体变量初始化,但初始化表中只能有一个常量;

      (3)共用体变量中起作用的成员是最后一次被赋值的成员;

      (4)共用体变量的地址和他各成员变量的地址都是同一地址。

    3.枚举变量

      如果一个变量只有几种可能的值,则可以定义为枚举类型,所谓枚举就是把可能的值一一列举出来,变量的值只限于列举出来的值的范围内。

      声明枚举类型用enum开头。例如:

      enum  weekday{sun,mon,tue,wed,thu,fri,sat};

      以上声明了一个枚举类型enum weekday workday,weekend;  /*后面两个是枚举变量*/

      花括号中的sun,mon,...,sat成为枚举元素或者枚举常量。

    说明:(1)c编译对枚举类型的枚举元素按常量处理,故称为枚举常量,不要因为它们是标识符而把它们看作变量,不能对其进行赋值。

       (2)每一个枚举元素都代表一个整数,c语言按照定义时的顺序默认它们的值为0,1,2,3,4,5....在上面的定义中。sum的值为0,mon的值为1,如果有赋值语句:workday = Mon;相当于workday = 1。

  • 相关阅读:
    Spring Cloud云架构
    Spring Cloud云架构
    Spring Cloud云架构
    Spring Cloud云架构
    Spring Cloud Consul
    Spring Cloud Eureka
    构建Spring Cloud微服务分布式云架构
    数据库三范式
    redis3.0.0 集群安装详细步骤
    sql优化的几种方法
  • 原文地址:https://www.cnblogs.com/RanWhoo/p/13274083.html
Copyright © 2020-2023  润新知