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

江苏做网站怎么收费多少/小说推广接单平台

江苏做网站怎么收费多少,小说推广接单平台,买的网站模板里面是什么,营销宣传图片C语言的内存的字节对齐的理解于运用由于现在内存的安排一般是4字节对齐的,所以在进行结构的定义的时候,顺序不同其所占内存也是不一样的。1, 问题的提出typedef struct t { int num1; int num2; char b; char a;}T; typedef struct …

                                C语言的内存的字节对齐的理解于运用

由于现在内存的安排一般是4字节对齐的,
所以在进行结构的定义的时候,顺序不同其所占内存也是不一样的。

1, 问题的提出

typedef struct t {
    int num1;
    int num2;
    char b;
    char a;
}T;       

typedef struct t2 {
    int num;
    char a;
}T2;

   
int
main(void)
{
    T lt = {1,2,'a','b'};
    T2 lt2 = {2,'a'};

    printf("sizeof(lt) = %d/n", sizeof(lt)); //12
    printf("sizeof(lt2) = %d/n", sizeof(lt2)); //8
   
    return 0;
}

sizeof(lt) = 12
sizeof(lt2) = 8

可以看到虽然T只定义两个char,按推理来说应该是占4+4+1+1应该是10。
但是结果却是12。按推理来说第2个结果的长度应该是4+1应该是5才对,
但结果却是8。何解?
在C语言中我们的内存一般是4字节对齐的,这样CPU在处理数据的时候,
才不至于浪费时间。编译器回把多余的空间填充成0。


2, 问题的解决
所以当我们在定义结构的时候就要注意这个事实,才不会浪费空间。

浪费空间的结构设计:
struct ab {
    int id;
    char sit1;
    int num;       
    char sit2;   
};

如果这样交叉定义的话,将会浪费一些空间。上面的定义结构体ab,
的sizeof的值,将会是4+4+4+4,按照4字节对齐的安排。
而,这样定义将会节省一些空间:

struct ab {
    int id;
    int num;       
    char sit1;
    char sit2;   
};

这样的话,所占空间将是4+4+4。

3, 怎么办
当定义结构时,如果结构成员的所占内存大小不是4的倍数,
多出的将会自动被初始化为0。
   
struct ac {
    int  a;
    char b[10];
};

这里的结构实际上分配了 10+4+2个字节空间。
因为这样才可以凑够4的倍数。

 

小结:   在不同的平台对齐的方式不一样,有的是8字节对齐的,但大多数是4字节对齐的。

在写程序时,要根据同平台具体处理。

http://www.jmfq.cn/news/5202379.html

相关文章:

  • 屏山县建设招标网站/现在做推广的新渠道有哪些
  • 淄博外贸网站建设公司/广州seo网站营销
  • 网站建设公司广东/上海牛巨微seo
  • 城市建设鹤岗市网站/交换友情链接前后必须要注意的几点
  • 垃圾桶东莞网站建设/网站推广策划案
  • 用eclipse做网站开发/苏州seo关键词优化方法
  • 品牌包包都有哪些牌子/厦门seo网站排名优化
  • 投资集团网站建设/如何创建公司网站
  • 介绍好的电影网站模板下载/合作seo公司
  • 企业网站怎么做/咸阳seo
  • 建个网站需要多少钱圣宝电动车大架号在哪里/大数据培训班出来能就业吗
  • 闸北做网站公司/常见的网络推广方法
  • 百货商城网站建设/百度导航2023年最新版
  • 政协网站建设申请函/百度推广竞价开户
  • wordpress 子目录 404/上海优化公司有哪些
  • 仪器仪表网站制作/网络营销的特点有几个
  • 我做的网站平台百度搜不到/最新的新闻 今天
  • wordpress卡密/南昌seo排名扣费
  • 建设银行融信通网站/建设网站的步骤
  • 中央广播电视总台2024网络春晚/四川seo快速排名
  • 网站外包公司/搜索引擎营销特点是什么
  • 甘肃交通工程建设监理有限公司网站/网站友链
  • 重庆餐饮品牌策划公司/深圳网络优化seo
  • 工程建设期刊网站/西地那非能提高硬度吗
  • 做实体识别的网站/热点营销案例
  • 做网站竞价是什么意思/淘宝指数查询官网
  • 一般做平面网站多少钱/seo优化网站百度技术
  • 宝塔建站详细教程/如何优化企业网站
  • 如何做网站后台/app软件推广平台
  • 网站可以做匿名聊天吗/百度ai人工智能平台