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

(C语言)自定义类型,枚举与联合

问:

1. 结构体在自引用的时候不能怎么样?可以怎么样?

2. Solve the problems:自定义一个学生结构体类型,要包含姓名,性别,年龄,六科成绩,家乡(也为结构体,包含家乡名称,家乡邮编,家乡简介,家乡历史)?

3. 结构体成员的对齐数就是什么与什么的什么?除什么外,每个成员的什么的什么就是什么?结构体的总大小,也就是什么?是所有成员什么的什么的什么?如果结构体成员是什么?就怎么理解?如果结构体成员也是什么?那么它的什么怎么算?

4. Solve the problems:想计算一下之前创建的学生结构体内存消耗是多少字节?

5. 结构体内存对齐本质上是一种什么做法?

6. 有一个宏叫什么可以验证结构体内存对齐?它计算什么的什么?两个参数是什么?

7. 设计结构体的时候要怎么样?

8. 结构体传参要传什么?

9. 位段也称为什么?其实还是什么?什么一模一样?好处在于什么?

10. 位段的成员类型必须是什么?并且都是怎么样的?每个成员后面的什么表示什么呢?有时会有什么发生?

11. 画图说明位段的内存分配是怎么样的?

12. 位段本来就是来怎么样的?因此与什么无关?

13. Solve the problems:Jeff不相信位段的存在,怎么样来证明位段的存在?

14. 枚举的关键字是什么?而联合体呢?

15. 什么和什么的什么,什么的什么都是与什么怎么样?

16. 联合体的特点是什么?意味着什么与什么?

17. 联合体大小计算需要先找出什么与什么?对于什么而言,什么就是什么?联合体大小应怎么样?最后还要对齐到什么的什么?

18. 联合体在内存中的存放可以用什么概括?

19. Solve the problems:我想用联合体判断一下当前机器的大小端字节序存储,并且顺便计算一下联合体大小,该怎么办?

20. Solve the problems:如何用联合体把16进制数11223344修改为11223355?


答:

1. 包含与自己类型一样的结构体,包含一个同类型的指针。

2.

//解决方法
struct Home
{char name[5];  char post[6];char introduce[14];int history;
};
struct Stu
{char name[6];char sex[3];int age;float score[6];struct Home place;
};

3. 自身大小,默认对齐数,较小值,第一个成员,对齐数,整数倍,起点偏移量,所占字节个数,对齐数,最大值,整数倍,数组,把数组元素看成一个个相同的成员,结构体,起点偏移量,自己成员对齐数的最大值的整数倍。

4. 72。

5. 拿空间换取时间。

6. offsetof,结构体成员,起始偏移量,结构体类型,结构体成员。

7. 尽量让占用空间小的成员集中在一起。

8. 结构体指针。

9. 位段式的结构体,结构体,作用与功能,节省空间。

10. 整型家族,同类型的,冒号与数字,该成员只占用这么多比特位,截断。

11.

12. 节省空间,结构体内存对齐。

13. 可以自己去调试内存里面验证。

14. enum,union。

15. 联合体,联合体变量,创建,联合体成员,访问,结构体,高度雷同。

16. 只有一个没水的公厕,我在拉时你不能用,我拉完后屎还是在的。

17. 最大成员的大小,所有成员最大对齐数,数组成员,成员大小,元素大小之和,≥最大成员大小,最大对齐数,整数倍。

18. 同一起点。

19.

//解决方法
union Elon
{int a;char b;
};
int main()
{union Elon x;x.b = 0;x.a = 1;if (x.b == 1){printf("小端\n");}else{printf("大端\n");}printf("%d\n", sizeof(union Elon));return 0;
}

20.

union test
{int a;char b;
};
int main()
{union test m;m.a = 0x11223344;m.b = 0x55;printf("%x\n", m.a);return 0;
}

http://www.lryc.cn/news/5010.html

相关文章:

  • node.js服务端笔记文档学会写接口,学习分类:path、包、模块化、fs、express、中间件、jwt、开发模式、cors。
  • 初始C++(三):引用
  • 【前端】参考C站动态发红包界面,高度还原布局和交互
  • VR全景带你浪漫“狂飙”情人节,见证甜蜜心动
  • Linux系统安全之iptables防火墙
  • 【C#基础】C# 变量与常量的使用
  • [ 常用工具篇 ] CobaltStrike(CS神器)基础(一) -- 安装及设置监听器详解
  • Redis集群
  • 00---C++入门
  • Spring-事务2
  • Windows Git Bash 配置
  • java代码整合kettle9.3实现读取表中的数据,生成excel文件
  • 分享微信点餐小程序搭建步骤_微信点餐功能怎么做
  • 4、数组、切片、map、channel
  • 270 uuid
  • 2023最新简历模板免费下载
  • 【CSS】元素居中总结-水平居中、垂直居中、水平垂直居中
  • spring实现AOP
  • neovim搭建cpp环境
  • SpringBoot AES加密 PKCS7Padding 模式
  • 按键输入驱动
  • 2023年第七周总周结 | 开学倒数第三周
  • Springboot扫描注解类
  • Apache日志分析器
  • 啪,还敢抛出异常
  • Apache JMeter 5.5 下载安装以及设置中文教程
  • string类模拟实现
  • cadence SPB17.4 S032 - allegro - 保存/载入光绘层定义
  • 微服务实战--高级篇:分布式缓存 Redis
  • 【C语言】可变参数列表