c语言-定义数据类型--结构体

  • 时间:
  • 浏览:
  • 来源:互联网

修改默认对齐数

  • 用#pragma修改默认对齐数

在这里插入图片描述


百度笔试题

  • offsetof();
  • 计算相对于结构体成员相对偏移量

在这里插入图片描述


结构体传参

在这里插入图片描述

  • Print2好的原因
  • 函数传参时 参数是需要压栈的,会有时间和空间上的系统开销
  • 如果传递一个结构体对象的时候,结构体过大参数压栈的系统开销就比较大,所以会导致性能的下降
  • 结论:结构体传参 最好传址

位段

  • 位段的目的是为了节省空间
什么是位段??

位段的声明和结构是相似的,有两个不同:

  • 1.位段的成员必须是int, unsigned int ,signed int
  • 2.位段的成员后面有一个冒号和一个数字

位段的的内存分配

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

在这里插入图片描述


枚举

本文链接http://www.dzjqx.cn/news/show-617531.html