忘记网站后台用户名好动词做的网站能行吗
web/
2025/9/28 14:24:07/
文章来源:
忘记网站后台用户名,好动词做的网站能行吗,网站开发三步,邢台网站建设包括哪些联合体
联合体的创建 联合体的关键字是union
union S
{char a;int i;
};除了关键字和结构体不一样之外#xff0c;联合体的创建语法形式和结构体的很相似#xff0c;如果不熟悉结构体的创建#xff0c;可以看一下我上一篇的博客关于结构体知识的详解。
联合体的特点 联合…联合体
联合体的创建 联合体的关键字是union
union S
{char a;int i;
};除了关键字和结构体不一样之外联合体的创建语法形式和结构体的很相似如果不熟悉结构体的创建可以看一下我上一篇的博客关于结构体知识的详解。
联合体的特点 联合体的成员是共用一块内存空间的这也就是意味着它更节省空间那也就是说明了联合体的使用我们一般只对联合体其中一个成员进行赋值和使用例如有些商品需要标上价格外观商品类型等信息时有一些商品可能外观和商品类型只有一个的存在这是如果用结构体来定义外观和商品类型这个成员时就会浪费空间相反用联合体就会大幅度节省空间
什么叫公用一块内存空间呢如下图所示以上面的联合体代码为例
所以你在使用 i 的时候也会对 a 产生影响你对 a 的使用也会对 i 产生影响。
联合体的大小计算 联合体的总大小为所右成员的最大对齐数的整数倍 并且联合的总大小至少为最大成员的大小 不了解对齐数的请看我上一篇文章
举个例子
#include stdio.hunion Un1
{char c[5];int i;
};union Un2
{short c[7];int i;
};int main()
{//下⾯输出的结果是什么printf(%zd\n, sizeof(union Un1));printf(%zd\n, sizeof(union Un2));return 0;
}运行结果 小练习
如何使用联合体来判断机器大小端存储 根据联合体的内存分配我们可以使用一下代码
#include stdio.hunion s
{char a;int i;
};int main()
{union s S1;S1.i 1;if (S1.a 1){printf(小端存储\n);}else{printf(大端存储\n);}return 0;
}枚举
枚举的创建 联合体的关键字是enum
enum COLOR
{RED,GREEN,BLUE
};枚举的创建形式也是和结构体类似。
枚举常量
还是那上面的代码来举例枚举内部成员是枚举常量它们是有值的一般来说第一个成员是从0开始的其他成员一次递增也就是1来进行赋值的我们来打印一下枚举的成员。 既然是枚举常量也是说明不能在枚举范围外对枚举常量进行赋值但是可以在枚举内部进行赋值。 如下代码表示
enum COLOR
{RED 3,GREEN 255,BLUE
};要注意了没有赋值的枚举成员还是按照1递增的形式进行赋值的、 枚举的优点 我们可以使⽤ #define 定义常量为什么⾮要使⽤枚举 枚举的优点 增加代码的可读性和可维护性和#define定义的标识符⽐较枚举有类型检查更加严谨。便于调试预处理阶段会删除 #define 定义的符号使⽤⽅便⼀次可以定义多个常量枚举常量是遵循作⽤域规则的枚举声明在函数内只能在函数内使⽤ 总而言之枚举也是给程序员提供了一种选择大家根据实际情况合理使用即可
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83373.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!