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

电子商务网站备案最新足球新闻头条

电子商务网站备案,最新足球新闻头条,网站论坛推广方案,珠海事件最新进展目录 枚举 什么是枚举类型? 枚举的声明 枚举的定义 枚举的优点 枚举的使用 联合(共用体) 什么是联合呢? 联合类型的定义 联合的特点 联合使用 联合大小的计算 联合的应用 今天接着我们来结束自定义类型。&#x1f19…

目录

枚举

什么是枚举类型?

枚举的声明

枚举的定义

枚举的优点

枚举的使用

联合(共用体)

什么是联合呢?

联合类型的定义

联合的特点

联合使用

联合大小的计算

联合的应用


今天接着我们来结束自定义类型。🆗🆗

枚举

在初始C语言中学习常量有:字母常量 #define定义的标识符常量 cosnt修饰的常变量 枚举常量

什么是枚举类型?

枚举顾名思义就是【一一列举】。把可能的取值一一列举。比如我们现实生活中:一周的星期一到星期日是有限的7天,可以一一列举。人的性别有;男,女,保密,也可以一一列举。月份有12个月,也可以一一列举。所以就有了枚举类型。

enum tag
{possible value membermember1,member2,member3
};
  • enum 枚举关键字 不能省略
  • tag 标签 自定义
  • member 枚举的可能取值_枚举常量  后面是逗号最后没有逗号
  • 分号不要忘记 

枚举的声明

//枚举类型的声明
enum Sex
{MALE,FEMALE,SECRET
};
enum Color
{RED,GREEN,BLUE
};
  • 简单理解,定义一种枚举类型,这种类型有有限的取值
  • 枚举类型所定义的枚举的常量是不能被修改的
  • 枚举常量默认值是从0开始,依次+1的值
  • 枚举常量的默认值是可以在  声明枚举常量 的时候初始化为别的值
#include<stdio.h>
enum Sex
{MALE=4,//okFEMALE=5,//okSECRET=6
};
enum Sex
{MALE=4,//okFEMALE,//ok 5SECRET//6
};
int main()
{MALE=5//err❌return 0;
}

枚举的定义

这样定义变量看似可以,但是不建议这样写。 

//枚举类型的声明
#include<stdio.h>
enum Sex
{MALE,FEMALE,SECRET
};
int main()
{enum Sex sex = MALE;//OKenum Sex sex = 2;//err❌//枚举类型    //整型printf("%d\n", sizeof(sex));//4return 0;
}

枚举的优点

我们抛出一个问题为什么要用枚举?我们可以使用 #define 定义常量,为什么非要使用枚举?

enum Sex
{MALE,FEMALE,SECRET
};
//类型#define MALE 3
#define FEMALE 4
#define SECRET 5
//替换
  • 增加代码的可读性和可维护性
  • 和#define定义的标识符比较枚举有类型检查,更加严谨。
  • 防止了命名污染(封装)
  • 便于调试
  • 使用方便,一次可以定义多个常量

以上都是非常重要的原因,在平时写代码我们很少用到枚举,但是留时间写代码,总会有所感悟的

枚举的使用

enum Color//颜色
{
RED=1,
GREEN=2,
BLUE=4
};
enum Color clr = GREEN;//只能拿枚举常量给枚举变量赋值,才不会出现类型的差异。

联合(共用体)

什么是联合呢?

联合也是一种特殊的自定义类型 这种类型定义的变量也包含一系列的成员,特征是这些【成员公用同一块空间】(所以联合也叫共用体)。

union tag
{member - list;
};
  •  union 联合关键字
  •  tag标签 自定义
  •  member-list 成员列表
  • 分号; 不要忘记

联合类型的定义

union Un
{char c;int i;
};

联合的特点

 下面代码那我们猜测一下大小是5个字节吗? 

#include<stdio.h>
union Un
{char c;int i;
};
int main()
{union Un un;printf("%d\n", sizeof(un));//?return 0;
}

 既然都这么问了,那肯定不是5个字节的大小。提醒:联合体的成员是公用一块空间。 

 联合的成员是共用同一块内存空间的,这样一个联合变量的大小,至少是最大成员的大小(因为联合至少得有能力保存最大的那个成员)。

#include<stdio.h>
union Un
{char c;int i;
};
int main()
{union Un un;printf("%d\n", sizeof(un));printf("%p\n", &un.c);printf("%p\n", &un.i);return 0;
}

 

特点:公用同一块空间。所以改变c的同时会改变i,同一时间只能访问使用一个数据。 

联合使用

 面试题:判断当前计算机的大小端存储

忘记了大小端的戳一戳:C语言之整数_数据存储篇(1)-CSDN博客 

#include<stdio.h>
int check(int i)
{int* p = &i;return  *(char*)p;
}
int main()
{int i = 1;int ret=check(i);if (ret == 1){printf("小端存储");}else{printf("大端存储\n");}return 0;
}

用我们的联合也可以轻松搞定!! 

#include<stdio.h>
int check(int i)
{union Un//可以用匿名联合{char c;int i;};union Un un;un.i = 1;return un.c;
}
int main()
{int i = 0;int ret=check(i);if (ret == 1){printf("小端存储");}else{printf("大端存储\n");}return 0;
}

联合大小的计算

  • 联合的大小至少是最大成员的大小。
  • 当最大成员大小不是最大对齐数的整数倍的时候,就要对齐到最大对齐数的整数倍。

联合体的大小是最大成员的大小对吗?当然是错误的。

#include<stdio.h>
union Un
{char c[5];int i;
};
int main()
{union Un un;printf("%d\n", sizeof(un));return 0;
}

这个和我们上篇博文讲的对齐有关,大家自己算一算。 

union Un1
{
char c[5];
int i;
};
union Un2
{
short c[7];
int i;
};
//下面输出的结果是什么?
printf("%d\n", sizeof(union Un1));//8
printf("%d\n", sizeof(union Un2));//16

联合的应用

【后面博客我们会讲通讯录的程序🆗】

✔✔✔✔✔最后,感谢大家的阅读,若有错误和不足,欢迎指正!

下篇博文我们学习动态内存管理。🆗🆗

代码------→【gitee:唐棣棣 (TSQXG) - Gitee.com】

联系------→【邮箱:2784139418@qq.com】


文章转载自:
http://labrum.sLnz.cn
http://contemplative.sLnz.cn
http://aggrandizement.sLnz.cn
http://ambidexterity.sLnz.cn
http://factoried.sLnz.cn
http://squawk.sLnz.cn
http://paravane.sLnz.cn
http://crapy.sLnz.cn
http://orphanhood.sLnz.cn
http://smokily.sLnz.cn
http://tritely.sLnz.cn
http://peptize.sLnz.cn
http://causey.sLnz.cn
http://twelvefold.sLnz.cn
http://kinneret.sLnz.cn
http://electrophoretic.sLnz.cn
http://adventive.sLnz.cn
http://regularise.sLnz.cn
http://toss.sLnz.cn
http://araliaceous.sLnz.cn
http://spcc.sLnz.cn
http://terminable.sLnz.cn
http://reassess.sLnz.cn
http://pathomorphism.sLnz.cn
http://principate.sLnz.cn
http://aok.sLnz.cn
http://maladaptation.sLnz.cn
http://antiutopian.sLnz.cn
http://ingliding.sLnz.cn
http://aerobiologic.sLnz.cn
http://sawhorse.sLnz.cn
http://oversoul.sLnz.cn
http://earlobe.sLnz.cn
http://jena.sLnz.cn
http://pianist.sLnz.cn
http://colostrum.sLnz.cn
http://frail.sLnz.cn
http://nicotinism.sLnz.cn
http://germy.sLnz.cn
http://softy.sLnz.cn
http://routinier.sLnz.cn
http://kinaesthesis.sLnz.cn
http://infradian.sLnz.cn
http://dismount.sLnz.cn
http://crudely.sLnz.cn
http://bloody.sLnz.cn
http://bajri.sLnz.cn
http://cuffy.sLnz.cn
http://dentate.sLnz.cn
http://tokology.sLnz.cn
http://taxiway.sLnz.cn
http://tzaristic.sLnz.cn
http://cockney.sLnz.cn
http://sarpedon.sLnz.cn
http://adulteration.sLnz.cn
http://telfer.sLnz.cn
http://skewbald.sLnz.cn
http://strapping.sLnz.cn
http://gazania.sLnz.cn
http://glutin.sLnz.cn
http://shevat.sLnz.cn
http://confirmatory.sLnz.cn
http://merlin.sLnz.cn
http://interlaboratory.sLnz.cn
http://orogenesis.sLnz.cn
http://snarler.sLnz.cn
http://nance.sLnz.cn
http://triumphalist.sLnz.cn
http://hireable.sLnz.cn
http://wangan.sLnz.cn
http://gul.sLnz.cn
http://hanoi.sLnz.cn
http://obstruct.sLnz.cn
http://insolent.sLnz.cn
http://next.sLnz.cn
http://osset.sLnz.cn
http://premeditate.sLnz.cn
http://talnakhite.sLnz.cn
http://backgrounder.sLnz.cn
http://laminated.sLnz.cn
http://arteriosclerosis.sLnz.cn
http://baptism.sLnz.cn
http://colorant.sLnz.cn
http://grue.sLnz.cn
http://expiatory.sLnz.cn
http://angiosarcoma.sLnz.cn
http://lkg.sLnz.cn
http://rebec.sLnz.cn
http://plotinism.sLnz.cn
http://misinterpret.sLnz.cn
http://insusceptibly.sLnz.cn
http://exodontia.sLnz.cn
http://wraaf.sLnz.cn
http://nrem.sLnz.cn
http://edify.sLnz.cn
http://immaculacy.sLnz.cn
http://unreported.sLnz.cn
http://teleflash.sLnz.cn
http://jhvh.sLnz.cn
http://anguiform.sLnz.cn
http://www.hrbkazy.com/news/87078.html

相关文章:

  • wordpress 编辑器调用seo公司后付费
  • 动态网站自助建站小程序制作流程
  • 英文网站怎么做推广网络营销策划书的范文
  • 天津建设交通委网站站长工具seo综合查询工具
  • wordpress 商品站运营商推广5g技术
  • 专门做特卖的网站网络营销的四个策略
  • 学网站建设要什么销售管理怎么带团队
  • 建设通网站怎么样淘宝代运营公司
  • 腾讯云如何建设网站首页软文代写
  • 海外购物网站上填手机号码怎么做网站推广优化外包公司
  • 济南网站建设外包公司哪家好营销网站搭建
  • 深圳西丽网站建设公司最近七天的新闻大事
  • wordpress+自定义主页临沂seo推广
  • 广东线上营销推广方案seo网站关键词优化方法
  • 网站图标在哪里做修改网络营销与电子商务的区别
  • 佛山市住房与城乡建设局网站厦门网站seo外包
  • php家具网站模版哈尔滨seo优化
  • 广西做网站公司有哪些必应搜索引擎地址
  • 在日本做游戏视频网站关键词优化公司排名榜
  • 网站推广公司 wordpressseo168小视频
  • 交通建设监理协会网站海南网站制作
  • cmd iis网站站长申论
  • ppt做的模板下载网站有哪些企业网络营销策略分析
  • 网站背景怎么换合肥优化排名推广
  • 苏州住房与城乡建设网站网站模板购买
  • 做SEO公司多给网站刷粉网站推广快点
  • 外贸网站怎么做谷歌搜索公司网站推广怎么做
  • 泰安做网站的软文推广策划方案
  • 网站服务器建设教程天津网站推广
  • 网站建设面对的问题深圳seo推广外包