C语言第十七集(待修)

11.30的视频

1.结构体可以这样重新赋值

注:字符数组不能用=来赋值

2.匿名结构体重新赋值方法:

注:在创建x时就已经使用过一次匿名结构体了

但是,在使用匿名结构体时,可以一次性创立多个变量

3.结构体内存对齐和对其规则详细搜:

4.总之,我们在创建结构体时,要将占用空间小的成员集中在一起

5.结构体传参的时候最好传地址

6.结构体位段例子搜:

7.位段的出现是为了节省空间

8.位段的具体搜:

(有关于内存分配的,还有关于 : 后边的数字含义的)

9.位段内部没有高地址和低地址之分(但第一个字节肯定小)

10.位段的跨平台问题:搜:

11.位段的应用:搜:

12.位段使用的注意事项:搜

13.我们通常用的结构体还有:联合和枚举

14.联合体的特点是所有成员共用同一块内存空间

15.联合体和结构体大致一样,也是由一个或者多个成员组成,这些成员可以是不同的类型
,但是在联合体中编译器只为最大的成员分配足够的内存空间

16.联合体和结构体的具体区别搜

17.位段不能取地址

但结构体可以

联合体也可以

18.联合体的成员公用一块空间

19.对联合体的一个成员进行更换的时候,其它成员也会跟着更换

所以我在使用一个成员的时候,不会使用另一个成员

20.小端存放的话:低地址放在低位,高地址放在高位

21.联合体的大小至少是最大成员的大小,

但不一定就是最大成员的大小

当最大成员的大小不是最大对齐数的大小的时候,就要对齐到最大对齐数的整数倍

注:VS的默认最大对齐数是8,可以更改

22.如果是数组的话,按照元素来算它的对齐数

例:

char c[5]

中,它的char是1,所以他的对齐数是1

例2:

23.联合体也存在对齐

24.使用联合体可以节省空间

25.有匿名联合体

26.结构体内部成员在创建时,分配到的地址连续

27.结构体的重新赋值方法搜

28.判断当前机器是大端或小端的方法搜

29.枚举是一一列举

关键字是:enum

30.枚举的举例引用搜

31.枚举的优点搜:

32.尽量少用#define

33.可以使用

#prama pack(?)来重新设定对齐数

 

 

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值