当前位置: 首页 > news >正文

永康网站开发郑州网站建设、

永康网站开发,郑州网站建设、,wordpress登陆后跳转,营销软件个人主页点这里~ 联合和枚举 一、联合体1、联合体类型的声明2、联合体成员的特点3、与结构体对比4、计算联合体大小 二、枚举1、枚举的声明2、枚举的优点3、枚举类型的使用 一、联合体 1、联合体类型的声明 联合体的定义与结构体相似#xff0c;但是联合体往往会节省更多的空… 个人主页点这里~ 联合和枚举 一、联合体1、联合体类型的声明2、联合体成员的特点3、与结构体对比4、计算联合体大小 二、枚举1、枚举的声明2、枚举的优点3、枚举类型的使用 一、联合体 1、联合体类型的声明 联合体的定义与结构体相似但是联合体往往会节省更多的空间它的特点是所有成员共用一块内存空间结构体也叫共用体 联合体中给某一成员赋值其他成员值往往会跟着变化 #include stdio.h union Un {char c;int i; }; int main() {union Un un { 0 };printf(%d\n, sizeof(un));return 0; }定义联合体我们用的是union定义格式与结构体相差不多大括号里边是成员变量 输出结果 按照结构体的标准来说这里应该是8但为什么会是4呢 就是因为前边提到的联合体的成员共用一块内存空间 2、联合体成员的特点 联合变量的大小至少是最大成员变量的大小 #include stdio.h union Un {char c;int i; }; int main() {union Un un { 0 };un.i 0x11223344;un.c 0x55;printf(%x\n, un.i);printf(%p\n, (un.i));printf(%p\n, (un.c));printf(%p\n, un);return 0; }我们发现第一行输出11223344被修改成了11223355 第二行联合体地址联合体成员地址都是一个地址 所以我们验证了联合体成员变量共用一块内存 3、与结构体对比 struct Un {char c;int i; };union Un {char c;int i; };结构体内存中灰色的是浪费掉的内存 4、计算联合体大小 联合体的大小至少是最大成员的大小 当最大成员大小不是最大对齐数的整数倍时要对齐到最大对齐数的整数倍 #include stdio.h union Un1 {char c[5];//1int i;//4 }; //当成员中有数组时用其数组中每个数据的数据类型来比较最大对齐数 //4为最大对齐数最大数为5对齐到4的整数倍即为8 union Un2 {short c[7];//2int i;//4 }; //4为最大对齐数最大数为14对齐到4的整数倍即为16 int main() {printf(%d\n, sizeof(union Un1));printf(%d\n, sizeof(union Un2));return 0; }我们在采购物品时图书杯子笔记本衣服可以写一个结构来录入它们的信息 struct list {//公共属性int stock_number;//库存量double price; //定价int item_type;//商品类型//特殊属性char title[20];//书名char author[20];//作者int num_pages;//⻚数char design[30];//设计int colors;//颜⾊int sizes;//尺⼨ };我们用结构可以很快的写出来但是这样会占用一些不必要的内存例如图书没必要录入它的颜色设计等属性杯子也没有书名和作者这样我们的联合就可以发挥它的作用在一定程度上节省内存 struct gift_list {int stock_number;//库存量double price; //定价int item_type;//商品类型union {struct{char title[20];//书名char author[20];//作者int num_pages;//⻚数}book;struct{int colors;//颜色int sizes;//尺寸char design[30];//设计}cup;struct{char design[30];//设计int colors;//颜⾊int sizes;//尺⼨}clothes;struct{int num_pages;//页数int sizes;//尺寸}notebook;}item; };二、枚举 1、枚举的声明 枚举就是一一列举的意思枚举用enum来定义定义方法也是类似结构体与联合体的方式 enum Day//星期 {Mon,Tues,Wed,Thur,Fri,Sat,Sun };enum Day就是枚举类型大括号中的内容为枚举类型的可能取值也叫枚举常量这些枚举常量都是有值的默认从0开始依次递增1也可以赋初始值 enum Day {Mon,Tues,Wed,Thur2,Fri,Sat,Sun };从上到下值依次为0 1 2 2 3 4 5 中间赋值前面从头开始为0依次递增1到该枚举常量时取被赋予的值然后往下还是依次递增1 enum Day {Mon4,Tues,Wed,Thur,Fri,Sat,Sun };从上到下值依次为4 5 6 7 8 9 10 依次递增1 2、枚举的优点 我们知道#define也可以完成枚举这样的效果那为什么我们还要使用枚举呢 ①增强代码的可读与可维护性 ②和#define相比枚举有类型检查更加安全严谨 ③便于调试在预处理阶段会删除#define定义的符号直接用所替换的值替换导致预处理与真实代码不统一无法更好地调试 ④使用方便一次可以定义多个常量 ⑤枚举遵循作用域规则枚举声明在函数内只能在函数内使用 3、枚举类型的使用 enum Day {Mon,Tues,Wed,Thur,Fri,Sat,Sun }; enum Day today Mon;使用枚举常量为枚举变量赋值在C语言中可以用整数来给枚举变量赋值但在C中不可以 今日分享就到这里了~
http://www.hkea.cn/news/14486296/

相关文章:

  • php源码项目门户网站开发智能建站实验报告
  • 云梦网站怎么做浮窗网站当电话线
  • wordpress游戏站北京商场人气排名
  • 不能上传图片到网站目前做网站最流行的程序语言
  • 哈尔滨网站建设哈尔滨网站标题用什么隔开
  • 档案网站建设书四川企业网站建设
  • 网站排名技巧保定网站建设公司大全
  • 广州科 外贸网站建设wordpress 4.7.8
  • 网站关键词建信建设投资有限公司网站
  • 介绍自己的做的网站吗android网站开发
  • 备案网站管理系统离线修改wordpress主题
  • 三大门户网站行业门户网站的优化怎么做yps行业门户系统
  • dw做汽车网站cms网站开发网站模板
  • 青海省建设厅官方网站青海西宁网站建设
  • 网站建设报价分析免费logo
  • 造价工程建设协会网站wordpress防止图片被采集
  • 网站每年需要续费吗域名收录
  • 卖辅助网站怎么做wordpress 字体调整
  • 机械制造网站上海定制app开发公司
  • 在线手机网站制作网站制作与网站建设
  • 上海网站建设网络公司网站设计流程步骤
  • 做挂件像网站成都网页设计培训学校哪家好
  • 违禁网站用什么浏览器东莞阳光网投诉查看
  • 网站自助制作服装公司网站首页
  • 房屋租赁网站开发背景自己动手做衣服的网站
  • 网站建设书模板开发自己的app多少钱
  • 福建志佳建设工程发展有限公司网站织梦网站数据下载
  • 建设一个网站大概需要多少钱织梦配置手机网站
  • 商务网站规划与建设课程设计网站3级营销是怎么做的
  • 做推广网站的文章术语河南seo推广