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

做网站配送地址怎么变换销售管理

做网站配送地址怎么变换,销售管理,html5网站首页代码,网站标题优化 英文1.联合体类型 1.1:联合体类型变量的创建 与结构体类型一样,联合体类型 (关键字:union) 也是由⼀个或者多个成员变量构成,这些成员变量既可以是不同的类型,也可以是相同的类型。但是编译器只为最⼤的成员变量分配⾜够的内存空间。联合体的特…

1.联合体类型

1.1:联合体类型变量的创建

与结构体类型一样,联合体类型 (关键字:union) 也是由⼀个或者多个成员变量构成,这些成员变量既可以是不同的类型,也可以是相同的类型。但是编译器只为最⼤的成员变量分配⾜够的内存空间。联合体的特点是所有成员变量共⽤同⼀块内存空间。所以联合体也叫共用体。而结构体中每个成员变量都有自己独立的空间。

#include<stdio.h>
union Un 
{char c;//1个字节int i;//4个字节
};int main()
{union Un u;printf("%zd\n", sizeof(union Un));//4  为char类型的c分配4个字节的空间printf("%p\n", &u);//008FFA9Cprintf("%p\n", &(u.c));//008FFA9Cprintf("%p\n", &(u.i));//008FFA9C//联合体类型变量u与成员c、成员i的地址相同,由此可见,联合体中的成员是共用同一块内存空间的return 0;
}

在这里插入图片描述

1.2:给联合体中一个成员变量赋值时,其他成员变量的值也会发生变化。

在这里插入图片描述

1.3:相同成员的结构体类型和联合体类型的对比

在这里插入图片描述

1.4:联合体类型变量的大小

在这里插入图片描述

#include <stdio.h>
union Un1
{//当成员变量是数组时,对齐数 = 数组元素的大小与编译器默认的对齐数中的较小值char c[5];//数组元素占1个字节,编译器默认的对齐数是8,则c的对齐数是1int i;//i占4个字节,编译器默认的对齐数是8,则i的对齐数是4//所有成员中,最大的对齐数是4,则该联合体类型的大小必须是4的倍数
};
union Un2
{//当成员变量是数组时,对齐数 =数组元素的大小与编译器默认的对齐数中的较小值short c[7];//数组元素占2个字节,编译器默认的对齐数是8,则c的对齐数是2int i;//i占4个字节,编译器默认的对齐数是8,则i的对齐数是4//所有成员中,最大的对齐数是4,则该联合体类型的大小必须是4的倍数
};
int main()
{printf("%d\n", sizeof(union Un1));//8printf("%d\n", sizeof(union Un2));//16return 0;
}

1.5:结构体类型与联合体类型的对比

联合体类型比结构体类型更节省空间,但它也有缺陷: 由于所有成员变量共用一块内存空间,当每个成员变量需要单独使用时,应该使用结构体类型,不能使用联合体类型。
在这里插入图片描述

1.6:利用联合体类型,写一个程序,判断当前机器是大端字节序存储还是小端字节序存储。

int check_sys()
{union   //匿名联合体类型,易知该类型占4个字节{int i;char c;}un;un.i = 1;//1的补码00000000000000000000000000000001//1的补码的16进制表示形式:0x00000001return un.c;//返回1是⼩端,返回0是⼤端
}

在这里插入图片描述

2.枚举类型

2.1:枚举类型变量的创建

枚举的关键字enum
在这里插入图片描述

enum Sex//性别
{//下面是枚举类型变量的可能取值,这些值都是常量。常量的值一旦确定后就无法修改了//如果不给这些常量赋初始值的话,默认是从0开始,向下每个常量的取值逐渐加1MALE,//男                            MALE的默认值为0,FEMALE,//女                          FEMALE的默认值为1,SECRET//保密  最后一个取值不加逗号     SECRET的默认值为2//MALE、FEMALE、SECRET的类型是enum Sex
};int main()
{enum Sex a = MALE;//根据枚举类型enum Sex创建变量a,a的取值是男printf("%d\n", MALE);//0printf("%d\n", FEMALE);//1printf("%d\n", SECRET);//2//MALE=4;   error,MALE是常量,它的值是0,不能被修改 return 0;
}
enum Sex//性别
{MALE=2, //将常量MALE的初始值赋为2                         FEMALE,//则常量FEMALE的值就是3 (2+1)                       SECRET//则常量SECRET的值就是4 (3+1)   
};int main()
{printf("%d\n", MALE);//2printf("%d\n", FEMALE);//3printf("%d\n", SECRET);//4return 0;
}
enum Sex//性别
{MALE=3, //将常量MALE的初始值赋为3                       FEMALE=4,//将常量FEMALE的初始值赋为4                      SECRET//则常量SECRET的值就是5 (4+1)   
};int main()
{printf("%d\n", MALE);//3printf("%d\n", FEMALE);//4printf("%d\n", SECRET);//5return 0;
}
enum Sex//性别
{MALE=3, //将常量MALE的初始值赋为3                      FEMALE=5,//将常量FEMALE的初始值赋为5                     SECRET=7//将常量SECRET的初始值赋为7
};int main()
{printf("%d\n", MALE);//3printf("%d\n", FEMALE);//5printf("%d\n", SECRET);//7return 0;
}

2.2:枚举类型需要注意的地方

可以将整数赋值给枚举类型的变量吗?在C语⾔中是可以的,但是在C++是不⾏的,因为C++的类型检查⽐较严格。

enum Sex//性别
{MALE,FEMALE,SECRET
};int main()
{enum Sex a= 0;//因为MALE的值为0,将MALE赋值为枚举类型的变量a//上面这句代码在C语言中不会报错,但在C++中会报错。因为C++的类型检查比较严格,C++中认为赋值符号右边的0是int类型,而a是enum Sex类型,所以不能把0赋值给a//可以把上面这行代码替换成enum Sex a= MALE;这样无论是C语言还是C++中都不会报错return 0;
}
http://www.dtcms.com/wzjs/338647.html

相关文章:

  • 沈阳酒店企业网站制作苏州网站建设方案
  • 公司做网站有什么用windows优化大师兑换码
  • 做网站公司排名多少钱2022最新引流推广平台
  • 平台网站开发做网站优化的公司
  • 做外贸哪些b2b网站比较有效精准营销名词解释
  • 昆山汽车网站建设百度认证官网申请
  • 德持建设集团有限公司网站南宁网络推广有限公司
  • 深圳做网站的公司百度seo关键词排名查询
  • 广西响应式网站建设网站推广的基本方法有
  • 广东h5网站建设站长之家下载
  • 什么网站可以做平面赚钱seo网站介绍
  • 网站联盟怎么做网页设计与制作项目教程
  • 做那种网站赚钱公司网站如何seo
  • 网站维护明细报价表电商营销的策略与方法
  • 成都装修公司哪家口碑最好潍坊seo网络推广
  • wordpress答题跳转武汉seo排名扣费
  • 深圳做网站-龙华信科百度招商加盟
  • wordpress不同页面广告seo辅助工具
  • 做设计_素材网站有哪优化网站推广
  • 网站怎么做电脑系统下载文件日本和韩国是亚洲的国家
  • 网站刷链接怎么做中国站长站
  • mmd怎么做下载网站重庆高端seo
  • 设计案例网站谷歌三件套一键安装
  • 电子商城网站开发项目描述微信营销平台系统
  • 怎么做自己的网站后台教程google国外入口
  • 郑州网站建设到诺然公司seo是什么职位
  • wordpress 三级联动白银网站seo
  • 义乌网站制作公司重庆seo网站
  • 开发网站 需求seo技术优化
  • 网站首页地址是什么潍坊今日头条新闻最新