当前位置: 网站首页>网站建设>网络推广

【网站优化】塔城爱采购会员/58同城会员账户/百度竞价开户/百家号注册运营/推广公司网站-网站营销全网推广【简单基础中小型网站】

发表日期: 2022-09-01 14:38:11 浏览次数:64

上往建站提供网站建设网站推广网店设计网站建设企业网站网站制作网页设计网站建设企业网站制作网页制作   高端定制网站建设H5页面设计开发微网站微信运营移动端设计开发手机端网站小程序,致力于苏州企业网站建设与公司网站制作,全国用户超10万,10余年的网站开发和建站经验,主营:网站建设网络推广微信公众号代运营、商城小程序开发定制网店设计等业务,专业团队服务,效果好。。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


塔城爱采购会员/58同城会员账户/百度竞价开户/百家号注册运营/推广公司网站-网站营销全网推广

网站建设.png

  1. T1: 若从第 0 个字节开始分配内存,则 T1.x 存入第 0 字节,T1.y 占 4 个字节,由于第一的 4 字节已有数据,所以 T1.y 存入第 4-7 个字节,T1.z 占 8 个字节,由于第一个 8 字节已有数据,所以 T1.z 存入 8-15 个字节。共占有 16 个字节。

    T2: 若从第 0 个字节开始分配内存,则 T1.x 存入第 0 字节,T1.z 占 8 个字节,由于第一的 8 字节已有数据,所以 T1.z 存入第 8-15 个字节,T1.y 占 4 个字节,由于前四个 4 字节已有数据,所以 T1.z 存入 16-19 个字节。共占有 20 个字节。此时所占字节不是最宽元素(double 长度为 8)的整数倍,因此将其补齐到 8 的整数倍,最终结果为 24。

    karma

       karma

      119***7665@qq.com

    4年前 (2018-08-09)
  2.    xkl

      923***865@qq.com

    18

    补充楼上 @karma,位域的内存大小测试

    // 位域内存测试#include <stdio.h>struct ONE_BYTE{
        unsigned char _bool : 1;
        unsigned char del_flag : 1;
        unsigned char status : 4;} one_byte;struct TWO_BYTE{
        unsigned char ccc1 : 4;
        unsigned char ccc2 : 4;
        unsigned char ccc3 : 4;
        unsigned char ccc4 : 4;} two_byte;struct THREE_BYTE{
        unsigned char ccc1 : 4;
        unsigned char ccc2 : 4;
        unsigned char ccc3 : 4;
        unsigned char ccc4 : 4;
        unsigned char ccc5 : 4;} three_byte;struct FOUR_BYTE{
        unsigned int ccc1 : 16;
        unsigned int ccc2 : 16;} four_byte;struct EIGHT_BYTE{
        unsigned char ccc1 : 1;
        unsigned int ccc2 : 1;} eight_byte;int main(int argc, char const *argv[]){
        printf("sizeof one_byte is : %lu
    ", sizeof(one_byte));
        printf("sizeof two_byte is : %lu
    ", sizeof(two_byte));
        printf("sizeof three_byte is : %lu
    ", sizeof(three_byte));
        printf("sizeof four_byte is : %lu
    ", sizeof(four_byte));
        printf("sizeof eight_byte is : %lu
    ", sizeof(eight_byte));
        return 0;


}

输出结果为:


sizeof one_byte is : 1B

sizeof two_byte is : 2B

sizeof three_byte is : 3B

sizeof four_byte is : 4B

sizeof eight_byte is : 4B

由输出,可以验证以下结论:


(1)结构体内存分配原则:


原则一:结构体中元素按照定义顺序存放到内存中,但并不是紧密排列。从结构体存储的首地址开始 ,每一个元素存入内存中时,它都会认为内存是以自己的宽度来划分空间的,因此元素存放的位置一定会在自己大小的整数倍上开始。

原则二: 在原则一的基础上,检查计算出的存储单元是否为所有元素中最宽的元素长度的整数倍。若是,则结束;否则,将其补齐为它的整数倍。

(2)定义位域时,各个成员的类型最好保持一致,比如都用char,或都用int,不要混合使用,这样才能达到节省内存空间的目的。


xkl

   xkl


  923***865@qq.com


3年前 (2019-04-09)

   木子李


  Li1***052573@163.com


67

// 二进制表示为 1000 有四位,超出

Age.age = 8;

printf("Age.age : %d ", Age.age);

超出范围并不是直接丢弃,而是保留对应的 3 位的值。


比如 8 是 00001000,按照位域,对应 3 位的值是 000,所以打印结果是 0;


但是 9 是 00001001,按照位域,对应 3 位的值是 001,所以打印结果是 1;


同理 10 是 00001010,按照位域,对应 3 位的值是 010,所以打印结果是 2;


Age.age = 9; // 二进制表示为 1001 有四位,超出

printf( "Age.age : %d ", Age.age );

   

Age.age = 10; // 二进制表示为 1010 有四位,超出

printf( "Age.age : %d ", Age.age );

// 以下是 4,7,8,9,10 的打印结果

Sizeof( Age ) : 4

Age.age : 4

Age.age : 7

Age.age : 0

Age.age : 1

Age.age : 2

木子李

   木子李


  Li1***052573@163.com


3年前 (2019-08-23)

   xuxing


  176***6295@qq.com


4

三楼@xkl,结果是:


sizeof one_byte is:1

sizeof two_byte is:2

sizeof three_byte is:3

sizeof four_byte is:4

sizeof eight_byte is:8

讲一下为什么 struct ONE_BYTE,其 3 个位域都是 char 类型,所以可以按照位的顺序存储(不用分字节),1+1+4=6 位,占用 1 个字节。


struct TWO_BYTE,道理同上,4+4+4+4=16 位 =2 个字节。


struct THREE_BYTE,道理同上,4*5=20 位,占 3 个字节(不足的 4 位补 0)。


struct FOUR_BYTE,其 2 个位域都是 int 类型,所以可以按照位的顺序存储(不用分字节),一个 int 类型占 4 个字节,刚好 16+16=32 位 =4 个字节。为 int 类



塔城爱采购会员/58同城会员账户/百度竞价开户/百家号注册运营/推广公司网站-网站营销全网推广



上往建站提供微信小程序+公众号商城+企业网站建设一站式微信网站商城营销系统,微信小程序是一种依附于微信体内即点即用,无需下载安装即可使用的轻应用,它开启了移动端“触手可及”的梦想,致力于苏州企业网站建设与公司网站制作,全国用户超10万,10余年的网站开发和建站经验,主营:网站建设微信公众号代运营商城小程序开发定制网店设计等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


400-111-6878
服务热线
顶部

备案号: 苏ICP备2021016738号-6

CopyRight © 2021 上往建站 All Right Reserved 未经许可不得复制转载

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: https://www.768800.club  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

全国服务热线:400-111-6878