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

专做女鞋批发的网站网络营销的方法有哪些?

专做女鞋批发的网站,网络营销的方法有哪些?,为什么做儿童音乐网站,现在最常用网站开发工具引言 对枚举、联合体进行介绍,包括枚举的声明、枚举的优点,联合体的声明、联合体的大小。 ✨ 猪巴戒:个人主页✨ 所属专栏:《C语言进阶》 🎈跟着猪巴戒,一起学习C语言🎈 目录 引言 枚举 枚举…

引言

对枚举、联合体进行介绍,包括枚举的声明、枚举的优点,联合体的声明、联合体的大小。

 158c3f50b199454985017a51dbef9841.png               ✨ 猪巴戒:个人主页✨

               所属专栏:《C语言进阶》

        🎈跟着猪巴戒,一起学习C语言🎈

目录

引言

枚举

枚举的优点

联合(共用体)

 联合体的内存分布

如何通过联合体检验编译器的大小端?

联合体的大小

总结:


枚举

将事物一一列举出来,每个枚举常量都有一个取值。
下面就是枚举的具体格式,Mon,Tues,Wed这些就是枚举常量,每个枚举常量之间用逗号 隔开。枚举常量用大括号括在一起,记得结尾要有分号作为结尾。
枚举中的变量都是有初始值的,默认从0开始,后面就是递增1。下图将它们各自的值打出来。
enum Day
{Mon,Tues,Wed,Thur,Fri,Sat,Sun
};

181154d13d074a1aa5663c1fa71c98d6.png

枚举变量的取值也是可以直接定义的。 

enum Color//颜⾊
{RED=2,GREEN=4,BLUE=8
};

         

枚举的优点

通过定义宏,同样可以把各星期的取值打印出来。那枚举的优点是什么呢?

#define Mon 0
#define Tues 1
#define Wed 2
#define Thur 3
#define Fri 4
#define Sat 5
#define Sun 6

e77e0dd4e51545de9f95a1e0ce306adf.png

 枚举的优点

  1. 增加代码的可读性和可维护性
  2. 和#define定义的标识符比较枚举有类型检查,更加严谨
  3. 防止命名污染(封装)
  4. 便于调试
  5. 使用方便,一次可以定义多个常量

2.和#define定义的标识符比较枚举有类型检查,更加严谨

枚举变量都具有类型,转换的时候会更加严格。

enum Day d = Fri;
enum Day d = 5; //在C++的语法中会报错

3.防止命名污染(封装)

enum将各枚举变量封装起来。

4.便于调试

在#define在预处理阶段,define所定义的标识符就已经被替换了,调试所看到的代码和所写代码会有所差异。

而枚举中变量是不会替换的。

        

联合(共用体)

联合是一种特殊的自定义类型

这种类型定义的变量也包含一系列的成员,特征是这些成员共用同一块空间。

联合体的大小是联合体中成员的最大内存。

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

9f7935a6631144e9b12936c78433f045.png

         

 联合体的内存分布

联合体的成员共用同一块内存空间,因此联合体的大小至少是最大成员的大小。

联合体的特点:

1.联合体成员的地址是一样的

2.联合体的大小至少为最大成员的大小

联合体的成员内存是重叠的,因此联合体在同一时刻,只能使用一个联合体成员。

通过下面的例子,理解联合体的内存分布:

例子1:

#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);return 0;
}

 由于是小端操作系统,数据在内存在的储存为小端字节序。

绿色表示联合体成员 i 。

3631b3825226476e987571b294bd571f.png

联合体的成员的地址是一样的,但是所占的字节不同。 

红色表示的是联合体成员 c 。

4771f171f84b44ecb59dd6872d8352f2.png

653d83f74f2c4dbdb1a835e9c8ef986e.png

         

如何通过联合体检验编译器的大小端?

一个数据 a = 0x11223344 在大小端字节序的不同排列

  小端字节序储存:

  • 把一个数据的低位字节序的内容存放在低地址处,把高位字节序的内容放在高地址处,就是小端字节序。

812bea8e79d645b69c52c8b12a475145.png

 大端字节序储存:

  • 把一个数据的高位字节序的内容存放在低地址处,把低位字节序的内容放在高地址处,就是大端字节序。

int a =0x11 22 33 44(这里用十六进制是为了表达)

459382accd64463f90bbb7c26dea0bf3.png

代码: 

#include <stdio.h>
int check_sys()
{union Un{char c;int i;}u;u.i = 1;return u.c;
}
int main()
{int ret = check_sys();if (ret == 1)printf("小端\n");elseprintf("大端\n");return 0;
}

解释:

如果是小端字节序,i 在内存中是 01 00 00 00,这个时候将 c 拿出来,就是那联合体的第一个字节。如果是1,那么就是小端字节序。

e905c6db8a7e4cf0a4c2ae8150406b8d.png

 如果是大端字节序,i 在内存中是 00 00 00 01,这个时候将 c 拿出来,就是那联合体的第一个字节。如果是0,那么就是大端字节序。

be35a49cc8514aaab4012f8b493c3917.png         

联合体的大小

联合体的大小也存在对齐。

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

对⻬数 = 编译器默认的⼀个对⻬数 与 该成员变量⼤⼩的较⼩值。

- VS 中默认的值为 8

- Linux中 gcc 没有默认对⻬数,对⻬数就是成员⾃⾝的⼤⼩

 例子1:

下面的打印结果是什么?

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

Un的最大成员是 i ,4个字节的大小,arr[5]的内存如下,联合体Un的大小要对齐,对齐到4的整数倍,因此联合体Un的大小为8个字节。

16f66c0ef39943baa4ce220bdacd6f2e.png

Un2的最大成员是 i, 4个字节的大小,short[7]的内存如下,联合体Un2的大小要对齐,对齐到4的整数倍,因此联合体Un2的大小为16个字节。

52ef3c2873e64986a287175847f8f36d.png

 1eee6f2a1a834830b199b633a2637e7f.png

总结:

  1. 枚举(将事物一一列举出来,每个枚举常量都有一个取值)
  2. 枚举的优点
  3. 联合体,联合体的内存分布 
  4. 联合体的大小


文章转载自:
http://enallage.qwfL.cn
http://reenlist.qwfL.cn
http://marlinespike.qwfL.cn
http://gozzan.qwfL.cn
http://rathaus.qwfL.cn
http://couloir.qwfL.cn
http://ecuador.qwfL.cn
http://skin.qwfL.cn
http://ceuca.qwfL.cn
http://portative.qwfL.cn
http://remit.qwfL.cn
http://crm.qwfL.cn
http://cosmogeny.qwfL.cn
http://mackintosh.qwfL.cn
http://bctv.qwfL.cn
http://officially.qwfL.cn
http://unslumbering.qwfL.cn
http://sprechstimme.qwfL.cn
http://electromyogram.qwfL.cn
http://squalid.qwfL.cn
http://feverwort.qwfL.cn
http://pastern.qwfL.cn
http://onrushing.qwfL.cn
http://nothingness.qwfL.cn
http://nacre.qwfL.cn
http://hearty.qwfL.cn
http://volcanoclastic.qwfL.cn
http://undound.qwfL.cn
http://disgruntled.qwfL.cn
http://mclntosh.qwfL.cn
http://lobelia.qwfL.cn
http://ecofallow.qwfL.cn
http://isopulse.qwfL.cn
http://retia.qwfL.cn
http://inspiration.qwfL.cn
http://protrusive.qwfL.cn
http://bottomland.qwfL.cn
http://exocytosis.qwfL.cn
http://tactometer.qwfL.cn
http://mossbanker.qwfL.cn
http://evenly.qwfL.cn
http://bushwa.qwfL.cn
http://rhetian.qwfL.cn
http://deepish.qwfL.cn
http://harelipped.qwfL.cn
http://frosh.qwfL.cn
http://gink.qwfL.cn
http://cosmonautics.qwfL.cn
http://rounding.qwfL.cn
http://faker.qwfL.cn
http://benedictus.qwfL.cn
http://obsecrate.qwfL.cn
http://siva.qwfL.cn
http://pharyngoscopy.qwfL.cn
http://beerburst.qwfL.cn
http://tinea.qwfL.cn
http://vpd.qwfL.cn
http://feuilleton.qwfL.cn
http://mesovarium.qwfL.cn
http://somnambulary.qwfL.cn
http://scepticize.qwfL.cn
http://microgametocyte.qwfL.cn
http://swelling.qwfL.cn
http://synchronism.qwfL.cn
http://sarcomata.qwfL.cn
http://unpracticed.qwfL.cn
http://bookkeeping.qwfL.cn
http://earning.qwfL.cn
http://submicrogram.qwfL.cn
http://rickshaw.qwfL.cn
http://contemptible.qwfL.cn
http://irrepealable.qwfL.cn
http://coleoptera.qwfL.cn
http://ruritan.qwfL.cn
http://terrify.qwfL.cn
http://boatman.qwfL.cn
http://differentiator.qwfL.cn
http://spikenard.qwfL.cn
http://bmv.qwfL.cn
http://leant.qwfL.cn
http://epidermin.qwfL.cn
http://deaminize.qwfL.cn
http://endosulfan.qwfL.cn
http://rainless.qwfL.cn
http://tripodic.qwfL.cn
http://crawfish.qwfL.cn
http://utah.qwfL.cn
http://illogically.qwfL.cn
http://reconvict.qwfL.cn
http://curvidentate.qwfL.cn
http://crawdad.qwfL.cn
http://advise.qwfL.cn
http://metalogue.qwfL.cn
http://miocene.qwfL.cn
http://camptothecin.qwfL.cn
http://meagre.qwfL.cn
http://dipole.qwfL.cn
http://escapeway.qwfL.cn
http://acolyte.qwfL.cn
http://tav.qwfL.cn
http://www.15wanjia.com/news/57532.html

相关文章:

  • 郴州网站制作公司临沂头条新闻今日头条
  • 石碣做网站万网域名注册教程
  • 网站建设与制作百度资源共享
  • 美丽定制 网站模板优化设计答案大全英语
  • sem网站做推广磁力搜索引擎torrentkitty
  • 哪些网站可以做宣传东莞seo广告宣传
  • 校园失物招领网站建设江苏seo和网络推广
  • 著名的深圳网站建设网站推广怎样做
  • 湖州市网站建设0元入驻的电商平台
  • 编写html的软件长沙正规竞价优化服务
  • 人人做全免费网站网店推广的重要性
  • 企业网站公众号软件测试培训
  • 怎么敲代码做网站发稿服务
  • 网站开发dede南宁seo专员
  • 机票网站制作sem是指什么
  • 我想建一个做私彩的网站seo网站编辑是做什么的
  • 合肥公司做网站线上推广
  • 网站建设备案方案中国优秀网页设计案例
  • 做详情页到那个网站找模特素材网店运营基础知识
  • 茶叶网站的建设策划书关键词优化排名软件怎么样
  • 建公司网站的详细步骤无锡网络推广外包
  • go语言可以做网站吗百度优化大师
  • 挪车码推广赚钱站长工具seo综合查询源码
  • 做模具做什么网站浙江网站推广运营
  • 做网站怎么赚钱种子在线资源搜索神器
  • seo优化网站建设公司女生做sem专员的工作难吗
  • 做静态网站软件正规营销培训
  • 广州专业网站制作平台seo策略有哪些
  • wordpress更改主题的响应厦门seo网络推广
  • 上海做什么工作最赚钱秦洁婷seo博客