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

商城网站开发需要哪些人员wordpress怎么可视化构建页面

商城网站开发需要哪些人员,wordpress怎么可视化构建页面,网站开发前后端分离要多少钱,优化工作流程1.结构体Struct 1.1 概念 一系列具有相同类型或不同类型的数据构成的数据集合。 struct person {char* name;uint8_t gender; }p1,p2; //p1,p2是struct person类型的变量 1.2 匿名结构体类型 struct {char* name;uint8_t gender; }; 这时结构体对象只能在声明类型的…

1.结构体Struct

1.1 概念

      一系列具有相同类型或不同类型的数据构成的数据集合。

struct person
{char* name;uint8_t gender;
}p1,p2;         //p1,p2是struct person类型的变量

 

1.2 匿名结构体类型

struct
{char* name;uint8_t gender;
};

这时结构体对象只能在声明类型的时候创建变量,其余时候因为没有名字,所以不能创建变量。

1.3 结构体的自引用

结构体的成员不能是自身,因为无法确定大小,但是可以是自身类型的指针(链表,树)。

1.4 typedef + 结构体

typedef struct person
{char* name;uint8_t gender;
}person;

        这种写法定义了一个struct person类型,并且给他定义了一个别名person,在创建对象的时候既可以使用struct person也可以直接使用person。 

typedef struct 
{char* name;uint8_t gender;
}person;

        这种写法定义了一个匿名结构体类型,并且给他指定了别名person,在创建对象时只能使用person,不能使用struct person,因为匿名结构体对象除了在声明的时候创建对象外其余时候都不能创建对象。 

1.5 结构体所占内存大小

        1.5.1结构体的对齐规则:

                1.第一个成员在与结构体变量偏移量为0的地址处。

                2.其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。

                        对齐数=编译器默认的一个对齐数 与 该成员大小的较小值。

                3.结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍。

                4.如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍

例子1:
struct s2
{char c1;char c2;int i;
};
printf("%d\n", sizeof(struct s2)); // 输出8

        为什么会输出8?因为在按照规则2,存储b的时候他们需要对齐到char类型大小的的整数倍地址处,也就是要对齐1的整数倍,所以a存储在偏移量为0的地址,b存储在偏移量为1的地址;但是int c,按照规则,它需要对齐到4的整数倍的地址处,所以它的地址偏移量为4,中间偏移量为2和3的地址为空闲状态。所以这个结构体的整体大小为8。

 例子2:
struct s1
{char c1;int i;char c2;
};
printf("%d\n", sizeof(struct s1)); // 输出12

        为什么输出12?因为i是int类型,它的地址需要对齐4的整数倍,所以它的地址偏移量为4,c2只需要对齐1的整数倍就可以,所以目前占用地址数是9,但是根据 

规则3:结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍

所以总大小需要对齐结构体成员中最大对齐数的整数倍(这里是4),但是9不满足,所以必须对齐到12.

 

例子3:
struct s3
{double d;char c;int i;
};
printf("%d\n", sizeof(struct s3)); // 输出16

        为什么输出16?因为成员d占用八个地址,c只需要对齐1的整数倍,所以它在偏移量为8的地址处,i需要对齐4的整数倍,明显9不满足,所以它存储在偏移量为12的地址处。所以目前s3占用16个字节,根据规则三:要对其成员中最大大小的整数倍,这里刚好是16,所以满足。

 

例子4:
struct s4
{char c1;struct s3 s;double d;
};
printf("%d\n", sizeof(struct s4)); // 输出32

        为什么输出32?c1在偏移量为0的地址处,s占用16个字节,但是根据规则2:

                2.其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。

                        对齐数=编译器默认的一个对齐数 与 该成员大小的较小值。

 其中,VS的默认对齐数是8,所以s只需要对齐偏移量为8的地址处,所以它在8-24的地址处;d是double类型,它需要对齐8的整数倍偏移量,刚好24是8的倍数,不用空闲地址,所以目前一共占用32个字节,根据规则4:

    4.如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍

这里因为存储s的时候对齐的是VS默认的对齐数8,所以这里struct s4 占用的总空间只需要对齐8的倍数,而不是16。刚好32满足条件,所以struct s4的大小是32.

1.5.2 为什么存在内存对齐?

1.5.3 怎么修改编译器的默认字节对齐数?

#program pack(n)
...
#program pack()
 例子:
#pragma pack(1)
struct s3
{char c1;char c2;int i;
};
#pragma pack()

现在结构体s3中的编译器默认字节对齐数变成了1, 所以i只需要对齐1的整数倍,整个s3也只需要对齐1的整数倍偏移量,所以s3占用的字节数是6。

1.5.4 offsetof() 查看成员的结构体偏移量

struct s4
{char c1;struct s3 s;double d;
};int main()
{printf("%d", offsetof(struct s4 , d)); //输出16
}

2.枚举Enum

3.联合体Union


文章转载自:

http://rgI0tPMl.ptqbt.cn
http://EjI8XBT7.ptqbt.cn
http://aUNqjhkg.ptqbt.cn
http://LrrrLbip.ptqbt.cn
http://lHPaFrIg.ptqbt.cn
http://aEftoHP9.ptqbt.cn
http://yrtJIIdd.ptqbt.cn
http://epThAbdd.ptqbt.cn
http://qOjePhQS.ptqbt.cn
http://DR4ygXGX.ptqbt.cn
http://Gk20k977.ptqbt.cn
http://VBe5zPlT.ptqbt.cn
http://uVXyxDBE.ptqbt.cn
http://KFhdaV81.ptqbt.cn
http://MQN5lRYR.ptqbt.cn
http://FB0JzVPZ.ptqbt.cn
http://OXTK4Kn3.ptqbt.cn
http://rrTrGhN1.ptqbt.cn
http://FOodxsG4.ptqbt.cn
http://f6gnSnQr.ptqbt.cn
http://TF4fbhF9.ptqbt.cn
http://HSkfnTEc.ptqbt.cn
http://f4QvUKz7.ptqbt.cn
http://cV8S7649.ptqbt.cn
http://FcnKXNb7.ptqbt.cn
http://Vx3NBA2j.ptqbt.cn
http://Iay1eaIO.ptqbt.cn
http://UsHb1LjE.ptqbt.cn
http://4h70WPU4.ptqbt.cn
http://h5i4OQP6.ptqbt.cn
http://www.dtcms.com/wzjs/757517.html

相关文章:

  • 政务公开和网站建设情况总结免费做什么代理最赚钱
  • 建站快车加盟网站模板和源码
  • 公司建设网站费用怎么记账网站首页被降权怎么做
  • 网站建设论文大全wordpress 换主题问题
  • 企业网站托管外包平台珠海网站制作专业
  • 成都专业网站制作网站广告sdk接入
  • 视觉差网站制作为什么自己花钱做的网站竟然不是自己的?(
  • 用dw设计网站模板下载湖南网站建设多少钱
  • 网站建设公司财务预算大连市建设工程老网站
  • 网站建设前期策划书哈尔滨做网站巨耀公司
  • 网站开发上海做网站被骗去哪投诉
  • 杭州建设信用平台seo的目的是什么
  • 装修设计公司公司价格表鹤壁网站seo
  • 曲阜网站设计成功的网络营销案例ppt
  • 做一个公司展示型网站多少钱深圳企业网站建设公司排名
  • 东莞市网站建设平台百度关键词权重查询
  • 如何建设成为营销网站秦皇岛建网站
  • 用手机做网站的app企业运营数据分析报告
  • 个人网站名称备案公司起名大全2020最新版的
  • 江苏网站建设wordpress的ip有什么用
  • 网站建设交易中心网站换域名怎么办
  • 国内旅行做行程网站wordpress丰富搜索页
  • 如何做网店网站河北项目建设备案网站
  • 网站收录系统网络营销课程个人总结3000字
  • 免费网站seo四川瑞通工程建设有限公司网站
  • 东莞网站建设公司辉煌大厦模仿网站制作
  • 长沙民政计算机网站建设聊城网站策划
  • 成都最新的防疫通告今天北京seo案例
  • 面签拍照 网站备案建筑人才网官方网站评职称
  • 爱站关键词挖掘查询工具太原网站建设口碑推荐