C语言马拉松_03.3

结构体 联合体 枚举类型

枚举类型

在实际生活中有很多对象的属性并不能使用C语言中给出的变量来直观描述,为了使程序更加直观,可读性更强,可以使用枚举类型来描述对象的属性。

枚举类型的定义示例:

enum DAY{
    Monday = 1,
    Tuesday,
    Westhday,
    Thursday,
    Friday,
    Saturday,
    Sunday,
};

执行以下程序

#include <stdio.h>

enum DAY{
    Monday = 1,
    Tuesday,
    Westhday,
    Thursday,
    Friday,
    Saturday,
    Sunday,
};

int main()
{
    enum DAY t;
    printf("t.i is: %d\r\n", t.Monday);
    printf("t.c is: %c\r\n", t.Tuesday);
    printf("t.l is: %ld\r\n", t.Friday);
    
    printf("size of int is  : %d\r\n", (int)sizeof(DAY));
    return 0;
}

通过这个程序我们可以知道,虽然我们为DAY定义了新的属性,但事实上在内存中的表现依然是数字的形式,只是这样写使程序更易于理解了。

思考一下

我们是否可以通过联合体中的某个元素的地址去访问其它元素?编写程序实现

总结

到这里已经介绍了C语言中的常用数据类型,数据类型在内存中的存储形式需要掌握,每个数据类型所占用的空间大小也要做到心中有数,这样有助于加强对指针的理解。只有当对数据类型的存储方式了然于胸才能做到使用指针的时候信手拈来。

二维数组是比较难于理解的数据类型,比较好的方法就是通过编写代码仔细体会。

结构体、联合体、枚举类型是可以简单理解为一个数据的集合。其中最常用的就是结构体,通常使用结构体是为了对一组或者是一个数据集合进行操作,例如:在某个通信系统中,需要操作一个串口进行通信,而串口的配置则包含几个属性:波特率、端口号、校验位、停止位等,这种情况下就可以构建一个串口的结构体用于集中操作这些属性。

联合体并不常用,因此了解即可。

枚举变量的灵活使用可有效的提升程序的可读性,因此可以特别了解。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在图书馆借了一本书,是别人给我挑的,在书的末尾,一个问题吸引了我:一个有故事的人是什么样的? 你能否看出一个人是否...
    壤瑾阅读 225评论 0 0
  • 曾几何时,旅游地产成为中国大小开发商谋求企业战略升级,拓展新增长空间的转型方向,其间赚得盘满钵满者有之,亏得一塌糊...
    战略连连看阅读 2,085评论 0 3

友情链接更多精彩内容