您的位置:首页 > 游戏 > 手游 > php创建网页_西安定制网页设计_seo网站优化怎么做_域名网站查询

php创建网页_西安定制网页设计_seo网站优化怎么做_域名网站查询

2025/4/3 13:48:07 来源:https://blog.csdn.net/Surplus886/article/details/145537481  浏览:    关键词:php创建网页_西安定制网页设计_seo网站优化怎么做_域名网站查询
php创建网页_西安定制网页设计_seo网站优化怎么做_域名网站查询

💬 欢迎讨论:在阅读过程中有任何疑问,欢迎在评论区留言,我们一起交流学习!
👍 点赞、收藏与分享:如果你觉得这篇文章对你有帮助,记得点赞、收藏,并分享给更多对C语言感兴趣的朋友!

文章目录

      • 枚举(Enum)
        • 枚举类型的定义
      • 枚举的优点
        • 枚举的使用
      • 联合(共用体,Union)
        • 联合的定义
        • 联合类型的声明
        • 联合变量的定义
        • 联合的特点
        • 联合的使用示例
      • 枚举与联合的对比
      • 总结

枚举(Enum)

枚举,顾名思义,就是将可能的取值一一列举。

在现实生活中,很多事物的取值范围是有限的,可以使用枚举来定义,例如:

  • 一周的七天(星期一到星期日)。
  • 性别(男、女、保密)。
  • 月份(12个月)。
枚举类型的定义
enum Day // 星期
{Mon,Tues,Wed,Thur,Fri,Sat,Sun
};enum Sex // 性别
{MALE,FEMALE,SECRET
};enum Color // 颜色
{RED,GREEN,BLUE
};

在以上定义的 enum Dayenum Sexenum Color 中,{} 内的内容是枚举类型的可能取值,也叫枚举常量

枚举常量默认从 0 开始,依次递增 1,但也可以自定义初始值,如下:

enum Color // 颜色
{RED = 1,GREEN = 2,BLUE = 4
};

枚举的优点

我们可以使用 #define 定义常量,为什么非要使用枚举?

枚举的优点包括:

  1. 增加代码的可读性和可维护性
  2. 相较于 #define,枚举具有类型检查功能,更加严谨
  3. 防止命名污染(封装)
  4. 便于调试
  5. 使用方便,一次可以定义多个常量
枚举的使用
enum Color // 颜色
{RED = 1,GREEN = 2,BLUE = 4
};enum Color clr = GREEN; // 只能用枚举常量赋值,保证类型安全

注意: 避免直接使用枚举常量的整数值赋值给枚举变量,否则可能出现类型不匹配问题。


联合(共用体,Union)

联合的定义

联合类型的变量也包含一系列的成员,不同之处在于所有成员共用同一块存储空间,因此联合也被称为共用体

联合类型的声明
union Un
{char c;int i;
};
联合变量的定义
union Un un;
联合的特点
  1. 共用同一块内存
    • 联合中的所有成员共享同一块存储空间,大小由最长的成员决定。
  2. 节省内存
    • 由于所有成员共用同一块空间,联合适用于节省存储的场景。
  3. 只能存储一个成员的值
    • 由于所有成员共用一块内存,在某一时刻只能存储一个成员的值,存储新值会覆盖之前的值。
联合的使用示例
#include <stdio.h>union Data
{int i;float f;char str[20];
};int main()
{union Data data;data.i = 10;printf("data.i: %d\n", data.i);data.f = 220.5;printf("data.f: %f\n", data.f);strcpy(data.str, "Hello");printf("data.str: %s\n", data.str);return 0;
}

在上述代码中,data 变量存储 intfloatchar 三种类型的数据,但由于它们共用同一块内存,每次存储新的值会覆盖先前存储的值

枚举与联合的对比

特性枚举(enum)联合(union)
目的定义一组有限的离散值节省存储空间,多个变量共用一块内存
存储每个枚举值独占存储空间所有成员共享存储空间
用途适用于表示固定的类别、状态等适用于需要在不同时间存储不同类型数据的场景

总结

  • 枚举(enum) 适用于定义有限的取值范围,提高可读性和安全性。
  • 联合(union) 适用于节省内存,但需要注意同时访问多个成员可能导致数据混乱。

合理选择枚举和联合,可以使代码更加高效、清晰和易维护。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com