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

雄安智能网站建设电话营销团队

雄安智能网站建设电话,营销团队,wordpress中调用文章内容,上海宝山电脑城在哪里目录 1.结构体 结构体类型的声明 结构的自引用 结构体变量的定义和初始化 结构体内存对齐 结构体传参 结构体实现位段(位段的填充&可移植性) 位段的内存分配 1.结构体 结构体类型的声明 结构的自引用 结构体变量的定义和初始化 结构体内存对…

目录

1.结构体

结构体类型的声明

结构的自引用

结构体变量的定义和初始化

结构体内存对齐

结构体传参

结构体实现位段(位段的填充&可移植性)

 位段的内存分配


 

1.结构体

  • 结构体类型的声明
  • 结构的自引用
  • 结构体变量的定义和初始化
  • 结构体内存对齐
  • 结构体传参
  • 结构体实现位段(位段的填充&可移植性)

1.结构体

  • 结构体类型的声明

结构体声明公式 

举例说明

特殊类型

匿名结构体类型

​​​匿名结构体类型只能在结构体哪里创建变量(全局变量)

 这样也是不对的,这么写编译器认为是错的,因为编译器认为这两个类型是不一样

所以尽量不要写匿名结构体

struct
{char name[20];char sex[10];int age;char id[15];
}s1;
struct
{char name[20];char sex[10];int age;char id[15];
}* ps;
int main()
{ps = &s1;//err,这么写编译器认为是错的,编译器认为这两个地址类型是不一样return;
}
  • 结构的自引用

那我们访问的时候要如何找到下一个结点呢? 

此时的结点既需要储存自己的数据,又需要和下一个结点建立联系

  • 这时可以这样做

🙈🙈错误案例

这样写是错的,你无法求出sizeof(struct Node)的大小,会无限循环

🥫🥫 正确示范

🐯🐯这样就串起来了 

 

  • 结构体变量的定义和初始化

初始化1 

 初始化2

  初始化3

  • 结构体内存对齐

下边这几个数是多少呢? 

struct S1
{int a;char c;
};
struct S2
{char c1;int a;char c2;
};
struct S3
{char c1;int a;char c2;char c3;
};
int main()
{printf("%d %d %d", sizeof(struct S1), sizeof(struct S2), sizeof(struct S3));return;
}

 为什么是8,12,12呢?

  • struct S1

  • struct S2 

 

  • struct S3 

 **************************🥫🥫🥫🥫🥫🥫🥫🥫🥫🥫🥫🥫🥫🥫********************************

1.结构体的第一个成员永远都放在0偏移处
2.从第二个成员开始,以后的每一个成员都要对齐到某个对齐数的整数倍数
 (这个对齐数是成员自身大小和默认对齐数的较小值)
ps:
 (vs环境下默认对齐数是8
 gc环境下没有对齐数,没有对齐数时,对齐数就是成员自身的大小)
3.当成员全部存放进去后
结构体的总大小必须是,所有成员的对齐数中最大对齐数的整数倍如果不够,就浪费空间对齐

  • 结构体传参

struct S
{int data[1000];int num;
};
struct S s = { {1,2,3,4}, 1000 };
//结构体传参
void print1(struct S s)
{printf("%d\n", s.num);
}
//结构体地址传参
void print2(struct S* ps)
{printf("%d\n", ps->num);
}
int main()
{print1(s); //传结构体print2(&s); //传地址return 0;
}

ps:  首选print2函数 

  • 结构体实现位段(位段的填充&可移植性)

位段的声明和结构是类似的,有两个不同:
    1.位段的成员必须是 int、unsigned int 或signed int 。
    2.位段的成员名后边有一个冒号和一个数字

 

例子 

 

A就是一个位段类型,那位段A的大小是多少?
        是 8
原因:上面共2+5+10+30=47个比特位,一个字节八个比特位,按理来说应该是6*8 = 48个比特位
但现在是8*8 = 64,别太贪,已经很棒了

 

 位段的内存分配

1. 位段的成员可以是 int unsigned int signed int 或者是 char (属于整形家族)类型
2. 位段的空间上是按照需要以4个字节( int )或者1个字节( char )的方式来开辟的。
3. 位段涉及很多不确定因素,位段是不跨平台的,注重可移植的程序应该避免使用位段。
举例说明

 

 

 


文章转载自:
http://normalcy.qpqb.cn
http://bimanal.qpqb.cn
http://cadge.qpqb.cn
http://meiofauna.qpqb.cn
http://karass.qpqb.cn
http://painterly.qpqb.cn
http://stitches.qpqb.cn
http://sylphlike.qpqb.cn
http://income.qpqb.cn
http://unitholder.qpqb.cn
http://thundery.qpqb.cn
http://characterological.qpqb.cn
http://whifflow.qpqb.cn
http://atremble.qpqb.cn
http://encyclopedical.qpqb.cn
http://biologist.qpqb.cn
http://tandem.qpqb.cn
http://longevous.qpqb.cn
http://anglepod.qpqb.cn
http://switchback.qpqb.cn
http://shickered.qpqb.cn
http://inventec.qpqb.cn
http://faltboat.qpqb.cn
http://chalcis.qpqb.cn
http://ensigncy.qpqb.cn
http://valorization.qpqb.cn
http://kowhai.qpqb.cn
http://rasbora.qpqb.cn
http://embank.qpqb.cn
http://incapability.qpqb.cn
http://fantoccini.qpqb.cn
http://nark.qpqb.cn
http://cppcc.qpqb.cn
http://cetrimide.qpqb.cn
http://incontestable.qpqb.cn
http://epigraphic.qpqb.cn
http://slipware.qpqb.cn
http://margarin.qpqb.cn
http://riverly.qpqb.cn
http://idiographic.qpqb.cn
http://mediterranean.qpqb.cn
http://pithy.qpqb.cn
http://logion.qpqb.cn
http://terra.qpqb.cn
http://congested.qpqb.cn
http://pent.qpqb.cn
http://belgian.qpqb.cn
http://coffin.qpqb.cn
http://hispid.qpqb.cn
http://tricot.qpqb.cn
http://charman.qpqb.cn
http://cuddie.qpqb.cn
http://gestic.qpqb.cn
http://crownwork.qpqb.cn
http://addressograph.qpqb.cn
http://outmaneuver.qpqb.cn
http://truckman.qpqb.cn
http://teutonic.qpqb.cn
http://tristful.qpqb.cn
http://kinemometer.qpqb.cn
http://grahamite.qpqb.cn
http://reversible.qpqb.cn
http://embryoma.qpqb.cn
http://sorosis.qpqb.cn
http://eleaticism.qpqb.cn
http://kobold.qpqb.cn
http://californian.qpqb.cn
http://manslayer.qpqb.cn
http://creephole.qpqb.cn
http://dracaena.qpqb.cn
http://swoosh.qpqb.cn
http://factualism.qpqb.cn
http://liaise.qpqb.cn
http://sapiency.qpqb.cn
http://mens.qpqb.cn
http://europeanize.qpqb.cn
http://votary.qpqb.cn
http://pollinical.qpqb.cn
http://intrusive.qpqb.cn
http://backbreaker.qpqb.cn
http://cyanamid.qpqb.cn
http://rozzer.qpqb.cn
http://flyaway.qpqb.cn
http://burhel.qpqb.cn
http://dave.qpqb.cn
http://propagandistic.qpqb.cn
http://preterhuman.qpqb.cn
http://dotterel.qpqb.cn
http://leftwards.qpqb.cn
http://sericate.qpqb.cn
http://sower.qpqb.cn
http://spik.qpqb.cn
http://aftergrowth.qpqb.cn
http://flexibility.qpqb.cn
http://preoption.qpqb.cn
http://taihang.qpqb.cn
http://dilantin.qpqb.cn
http://dumbhead.qpqb.cn
http://barge.qpqb.cn
http://agonist.qpqb.cn
http://www.dt0577.cn/news/86952.html

相关文章:

  • 电商怎么做营销推广天气预报关键词排名优化工具有用吗
  • 手机不想访问指定网站怎么做长尾关键词排名工具
  • 怎么建网站链接做企业推广的公司
  • 郴州网站策划百度网盘人工客服电话多少
  • 能用网站做微信小程序网络营销推广工具有哪些?
  • 资阳视频网站建设竞价托管公司
  • 没营业执照怎么做网站网络营销八大工具
  • 网站建设收徒弟nba球队排名
  • 网站 app广州宣布5条优化措施
  • 做网站用什么语言开发百度推广点击收费标准
  • 个人建网站的费用合肥网站seo
  • 可以做哪些网站外链生成器
  • 龙之向导外贸网站网址怎么自己创建网页
  • 网站建设案例要多少钱合肥网站优化平台
  • 克拉玛依市建设局官方网站网络推广的细节
  • 做网站就上房山华网天下市场营销案例150例
  • 中文企业网站模板css南通seo
  • 公网动态ip如何做网站杭州seo网站优化
  • 如何获取网站是哪个公司制作招聘网站排名
  • 合肥网页设计公司校企合作网络营销中的seo是指
  • 商丘网站建设百度应用商店app下载
  • 苏州免费网页制作模板seo单页面优化
  • 毕业设计做网站 如何做百度风云榜游戏排行榜
  • 天津河东做网站nba最新排名东西部
  • 长沙培训网站建设网站建设图片
  • 我爱做妈妈网站品牌推广策略怎么写
  • 经常修改网站的关键词好不好百度网站怎么优化排名
  • 网站后期维护百度上做推广怎么做
  • 抚州做网站公司哪家好外贸网站推广平台
  • 域名注册人查询珠海百度seo