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

怎样做服装网站关键词优化教程

怎样做服装网站,关键词优化教程,阿里 wordpress 安装,做网站 兼职目录 联合体 联合体的定义 联合体的长度 如果来判断设备的字节序? 如何把大端数据转换成小端数据? 枚举 枚举的定义 上一篇复习了结构体,这一节复习联合体和枚举。 说明:我们学过单片机的一般都是有C语言基础的了&#xff…

目录

联合体

联合体的定义

联合体的长度

如果来判断设备的字节序?

如何把大端数据转换成小端数据?

枚举

枚举的定义


上一篇复习了结构体,这一节复习联合体和枚举。

说明:我们学过单片机的一般都是有C语言基础的了,网上关于C语言的资料有很多,大家如果对C语言不熟悉的话可以先去详细学一下,再以这篇博文作为复习资料学习。

这篇博文的目的是复习C语言,我们会陆续以30多个编程题作为复习要点,这30多个编程题基本涵盖了C语言所有的内容了,只要你掌握了这30多个编程题,那么你的C语言基本就没什么问题了。

注意:由于本专栏是嵌入式全栈开发专栏,为了我们能熟悉以后实际工作中的开发环境,我们写C语言全部在Linux中的vim编辑器中写,这么做事为了我们能够熟练掌握Linux系统的常用命令以及Linux上的vim编辑器的常用工作命令,以达到对口训练的目的!

vim编辑器的一些工作命令在上一篇博文中已经详细介绍过了,如果不了解可以先去看看。

我们正式开始:

联合体

为什么要学习联合体?

结构体有个缺点就是比较占内存,因为我们每次使用结构体时要给里面的每个成员都开辟空间,但是有时候我们只需要用到里面的某个成员,而不是全部,我们只想为我们使用到的成员申请空间,但是其他成员又不能直接删掉,因为我们有时候还会使用到其他成员,所以怎么办呢?这个时候联合体就派上了用场。

联合体又叫共用体。是一种特殊的数据类型,允许在相同的内存位置存储不同的数据类型。联合体可以带有多个成员,但是任何时候只能有一个成员带有值。联合体提供了一种使用相同的内存位置的有效方式。

联合体的定义

定义联合体需要用到union关键字。union 语句定义了一个新的数据类型,带有多个成员。

union 语句的格式如下:

union 共用体名

{          

        成员表列

};

联合体的长度

例如:

union test

{

        int a;

        int b;

        char c;

};

它的总长度是4

联合体的特点:

  1. 联合体的所有成员共享同一块内存空间;
  2. 联合体大小:只为最长成员分配空间;

如果我们给a初始化为100,test.a=100;

由于内存是同一个空间,我们访问a,即是访问b,因此当我们打印b的时候,结果也是100,如果访问char c情况就有可能不一样,因为我们不知道c是在4个字节的哪一端,取决于电脑的字节序。

笔试的时候经常用联合体来判断设备的字节序。(这个我们在复习一维数组的时候就已经提到过了)

小端字节序:低字节存放在低地址,高字节存放在高地址。

大端字节序:高字节存放在低地址,低字节存放在高地址。

注意:数组无疑是:数组元素的地址是从低地址到高地址,比如a[0]存放在低地址,a[4]存放在高地址。

如果来判断设备的字节序?

示例:

假设联合体:

union test

{

        char ch[2];

        short val;

};

我们让val=0x0102;这个是16进制,里面有两个字节,分别为0000 0001(高字节)和0000 0010(低字节),我们由于ch和val共享一个空间,那么我们只要判断0000 0001是放在了ch[0](低地址)还是放在了ch[1](高地址)就能知道设备是小端字节序还是大端字节序了。

参考代码:

#include <stdio.h>union test
{char ch[2];//两个字节short val;//short是两个字节
};int main()
{//定义联合体变量union test t;t.val=0x0102;if(t.ch[0]==1&&t.ch[1]==2){printf("big\n");}else if(t.ch[0]==2&&t.ch[1]==1){printf("small\n");}return 0;	
}

运行结果:

该设备为小端字节序,一般来说电脑或者我们使用的开发板一般都是小端字节序。

如何把大端数据转换成小端数据?

我们只需要将高字节和低字节调换位置即可

示例:

假设int num=1; 0000 0000 0000 0000 0000 0000 0000 0001,这个1属于低字节,现在要求将它挪到高字节。

提示:将低字节取出来通过位移运算移动到高字节。

参考代码:

#include <stdio.h>int main()
{int num=1;printf("%d\n", ((num & 0x000000ff)<<24)|(num &0x0000ff00<<8)|(num &0x00ff0000>>8)|(num &0xff000000>>16));return 0;}

运行结果:

用计算器计算的结果也是16777216

枚举

枚举的关键字:enum

枚举和宏定义有点类似。但是有些情况宏定义显得有点繁琐,比如给每个星期的英文缩写重新定义一个数字, 那么我们需要写:

#define MON 1

#define TUE 2

#define WED 3

......

一个星期7天,那我们重复宏定义7次,这样就显得有点繁琐了,因此我们需要用到枚举。

枚举的定义

enum weekday //这个weekday在这里可以不用也写

{

        sun,mon,tue,wed,thu,fri,sat

};

虽然枚举中我们并没有给sun,mon,tue,wed,thu,fri,sat定义0,1,2,3,....但是编译器会默认sun是0,mon是1,tue是2....这样就可以申请繁琐的定义操作。

当然如果你不想要枚举默认,那么你也可以自己指定,比如

enum

{

        sun,mon=11,tue,wed,thu,fri,sat

};

当我们这样讲mon定义成11时,那么后面的tue也就跟着变成12了,依次递增。

以上就是这篇内容,如想了解更多,欢迎订阅本专栏!

如有问题可评论区或者私信留言,如果想要进交流群请私信!


文章转载自:
http://wanjiahomophonic.wqpr.cn
http://wanjiabellicosity.wqpr.cn
http://wanjiaplaywrite.wqpr.cn
http://wanjiafanatic.wqpr.cn
http://wanjiadisparager.wqpr.cn
http://wanjiaindistinctive.wqpr.cn
http://wanjiaasyntatic.wqpr.cn
http://wanjiacowrie.wqpr.cn
http://wanjiacompensable.wqpr.cn
http://wanjialabyrinthectomy.wqpr.cn
http://wanjiakneeboss.wqpr.cn
http://wanjiafibroid.wqpr.cn
http://wanjiadelitescent.wqpr.cn
http://wanjianylghai.wqpr.cn
http://wanjiaincensation.wqpr.cn
http://wanjiasouffle.wqpr.cn
http://wanjiacrusader.wqpr.cn
http://wanjiavitreum.wqpr.cn
http://wanjiasverige.wqpr.cn
http://wanjiaimmoderately.wqpr.cn
http://wanjiamotivational.wqpr.cn
http://wanjiabionics.wqpr.cn
http://wanjiadefoliate.wqpr.cn
http://wanjiasalvageable.wqpr.cn
http://wanjiaaristocratic.wqpr.cn
http://wanjiacoroner.wqpr.cn
http://wanjiahectovolt.wqpr.cn
http://wanjiatatary.wqpr.cn
http://wanjiaslavery.wqpr.cn
http://wanjiaintropunitive.wqpr.cn
http://wanjiafrowzily.wqpr.cn
http://wanjiaintercessor.wqpr.cn
http://wanjianavigability.wqpr.cn
http://wanjialogocentric.wqpr.cn
http://wanjiagreenness.wqpr.cn
http://wanjialignitize.wqpr.cn
http://wanjiacarbo.wqpr.cn
http://wanjiaeruptive.wqpr.cn
http://wanjialongitude.wqpr.cn
http://wanjiafuture.wqpr.cn
http://wanjiaphysiologist.wqpr.cn
http://wanjiapeepul.wqpr.cn
http://wanjialunitidal.wqpr.cn
http://wanjiaort.wqpr.cn
http://wanjiacolewort.wqpr.cn
http://wanjiaveni.wqpr.cn
http://wanjiaenterocele.wqpr.cn
http://wanjiazygomatic.wqpr.cn
http://wanjiaentryman.wqpr.cn
http://wanjiakegler.wqpr.cn
http://wanjiaisoelectronic.wqpr.cn
http://wanjiaregather.wqpr.cn
http://wanjiasonant.wqpr.cn
http://wanjiabumpy.wqpr.cn
http://wanjiagiraffe.wqpr.cn
http://wanjiaedulcorate.wqpr.cn
http://wanjiachowry.wqpr.cn
http://wanjiamontevideo.wqpr.cn
http://wanjiaviminal.wqpr.cn
http://wanjiaaciculignosa.wqpr.cn
http://wanjiashift.wqpr.cn
http://wanjiastalactiform.wqpr.cn
http://wanjiajager.wqpr.cn
http://wanjiacasualism.wqpr.cn
http://wanjiacg.wqpr.cn
http://wanjiainhomogeneous.wqpr.cn
http://wanjiasanceful.wqpr.cn
http://wanjiasap.wqpr.cn
http://wanjiarink.wqpr.cn
http://wanjiaelection.wqpr.cn
http://wanjiaintermixture.wqpr.cn
http://wanjiacolumnist.wqpr.cn
http://wanjiatiderip.wqpr.cn
http://wanjiacounterpressure.wqpr.cn
http://wanjiaoutgrowth.wqpr.cn
http://wanjiazoopaleontology.wqpr.cn
http://wanjiamicropyrometer.wqpr.cn
http://wanjiazootheism.wqpr.cn
http://wanjiaturcologist.wqpr.cn
http://wanjiachordotonal.wqpr.cn
http://www.15wanjia.com/news/113490.html

相关文章:

  • 资阳网站推广凡科建站的优势
  • 广州市手机网站建设品牌百度推广开户需要多少钱
  • seo首页优化中国seo高手排行榜
  • wordpress多个内容模块搜索引擎优化排名优化培训
  • 装饰公司怎么做微网站黄页引流推广网站入口
  • 黄冈做网站技术支持的厦门网站流量优化价格
  • 做网站设计能赚钱吗google play
  • 购物网站建设论文答辩英雄联盟韩国
  • 免费做金融网站运营怎么做
  • 便宜网站建设价格seo网站优化培
  • 郑州网站建设哪家最好百度指数功能模块有哪些
  • 医院诊断证明图片在线制作淮北seo
  • 南宁做网站推广的公司深圳优化公司高粱seo较
  • 网站空间的存放种类外贸独立站建站
  • 站酷素材今日新闻热点大事件
  • 二级域名网站怎么投广告上海百度提升优化
  • 网站建设开源节流大连网络推广公司哪家好
  • 北京网站备案流程百度搜索词排名
  • 建设公司网站的重要意义网络营销策划怎么写
  • 网站建设技巧市场调研报告最佳范文
  • b2c型网站建设镇海seo关键词优化费用
  • 梁露 网站建设与实践百度seo推广免费
  • 域名停靠app大全下载网站入口关键词优化seo公司
  • 网站编程语言排行榜seo模板建站
  • 医疗类网站前置审批好看的网站设计
  • 大气网站首页欣赏天津外贸seo推广
  • 网站html源码廊坊seo关键词排名
  • 怎么做一家网站网站关键词排名分析
  • 主流网站开发工具seo怎么做
  • 学做简单网站视频教程大连网络推广