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

怎么弄数据库备份做网站烟台北京网站建设公司

怎么弄数据库备份做网站,烟台北京网站建设公司,佛山微网站建设多少钱,网站开发设计图psd导言 在C语言中除了结构体外,联合体和枚举也是自定义类型,联合体主要用于节省空间,在同一块内存存储多种类型的数据,而枚举可以提高代码的可读性、可维护性。 联合体(union) 它还有个更容易理解的名字&…

导言

        在C语言中除了结构体外,联合体和枚举也是自定义类型,联合体主要用于节省空间,在同一块内存存储多种类型的数据,而枚举可以提高代码的可读性、可维护性。


联合体(union)

它还有个更容易理解的名字:“共用体”,它有多个成员,成员可以为不同类型,但是编译器只会给最大的成员分配内存空间,所有成员共用一块空间。

联合体的创建
//联合体的创建
union un {int x;int y;
};
int main() {union un tmp = { 0 };return 0;
}

 联合体的初始化

联合体的初始化只能对整个联合体进行初始化,因为所有联合成员共用一块内存,初始化后所有的成员都是这个值,不管成员类型是否一致。

联合体的访问与结构体一致,这里不再介绍

联合体的大小

联合体大小计算规则:

●联合体大小最少为最大成员的大小

●当最大成员的大小不为最大对齐数的整数倍时,联合体大小要对齐到最大对齐数的整数倍

示例:

 值得注意的是:在计算数组的对齐数时,与默认数比较的不是整个数组的大小,而是数组单个元素的大小。

联合体的运用

1.假如一家商店要进一批货,分别为书、卡牌、玩具。这三样物品都有公共属性和私有属性

公共属性:进货量、价格、生产年份

私有属性:

●书:作者、页数、版号

●卡牌:形状(圆或方)

●玩具:颜色、尺寸

使用结构体定义:

struct goods {//公共属性:进货量、价格、生产年份int count;int price;int year;//私有属性://书:作者、页数、版号char name[20];int pages;int vn;//卡牌:形状(圆或方)int shape;//玩具:颜色、尺寸char color[10];int size;};//占用空间60字节

使用联合体定义:

struct goods {//公共属性:进货量、价格、生产年份int count;int price;int year;//私有属性:union {struct {//书:作者、页数、版号char name[20];int pages;int vn;}book;struct {//卡牌:形状(圆或方)int shape;}card;struct {//玩具:颜色、尺寸char color[10];int size;}toy;}item;
};//占用空间40字节

 在这个例子中使用结构体占用了60字节,使用联合体却只用了40字节,第二种方法声明比较复杂,我们怎么来对它进行初始化呢?

struct goods {//公共属性:进货量、价格、生产年份int count;int price;int year;//私有属性:union {struct {//书:作者、页数、版号char name[20];int pages;int vn;}book;struct {//卡牌:形状(圆或方)int shape;}card;struct {//玩具:颜色、尺寸char color[10];int size;}toy;}item;
};//占用空间40字节
int main() {struct goods goods_1 = { 10,30,2005,.item.book = {"yuhua",200,1998} };//这里初始化了结构体goods中,公共属性中的进货量、价格、生产年份,// 以及联合体item中的结构体book三个成员:作者、页数、版号return 0;
}

2.通过联合体其数据类型互换的特性,完成对大小端字节序的判断

union un {char a;int b;//定义一个拥有char型和int型的联合体,来观察其大小端字节序
};
int main() {union un un1 = { 0x11223344 };//存入16进制数0x11223344来观察,小端存储:0X44332211、大端存储:0X11223344printf("%#X", un1.a);//使用联合体成员char a,来打印第一个字节内容来观察大小端return 0;
}

运行结果:

小端存储。


枚举(enum)

枚举顾名思义:一一列举。

我们可以为一组数值定义相同类型的符号名(枚举常量),如:

周一到周日、一月到十二月、三原色等。

枚举的创建
//枚举的创建
enum en {monday,//注意枚举常量后面是“,”逗号,从0开始tuesday,wednesday,thursday,friday,saturday,sunday,
};

 枚举常量在创建时是有初值的,默认从0开始,步长为1.

也可更改:

枚举的声明以及使用

 

http://www.yayakq.cn/news/247458/

相关文章:

  • linux服务器做网站给手机做网站的公司有哪些
  • 郑州网站制作公wordpress官网教程
  • 台州椒江做网站MAKA网站做H5怎么压缩图片
  • 做网站前端ps很重要吗外国手机网站设计
  • 商城网站wordpress建设网站 托管 费用
  • 网站管理助手未找到iis韩雪冬网站设计
  • 制作公司网站在公账汇款时用途备注什么wordpress 登陆验证码
  • 运动网站源码精美网站设计欣赏
  • 电商网站 技术win10 做网站服务器吗
  • 南宁网站建设长春五金弹簧东莞网站建设
  • 昌平电子网站建设wordpress 编辑器推荐
  • 虚拟商品自动发货网站搭建教程网站制作公司获取客户
  • 拼多多网站建设合同房屋设计软件手机版
  • 做网站用什么后台wordpress提示插件安装
  • 只有一个人网站开发sns社交网站
  • 装饰行业网站建设方案代理做网站怎么样
  • 佛山企业网站建设在线代理网址
  • 网站首页布局设计用什么网站总是打不开
  • 郑州企业网站优化公司素材下载平台网站源码
  • 禁止域名访问网站全国设计网站公司网站
  • 怎么用手机做网站平台较好网站建设公司
  • 有什么可以做翻译的网站吗建设网站需要哪些认证
  • 修改已经有的网站怎么修改wordpress 一个主题
  • 北京网站开发怎么做如何做企业网络营销推广
  • 亚星管理网代理平台入口深圳营销型网站seo
  • 柳州建设网站经济适用房表格中铁建设集团有限公司华东分公司
  • 网站空间国外那个好wordpress数据库导致宕机
  • 怎么直接做免费网站河南怎么样做网站
  • 京东网站的建设目的品牌企业网站建设公司价格
  • 自助建设外贸网站顺义网站建设公司