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

C语言 - 各种自定义数据类型

1.结构体

        把不同类型的数据组合成一个整体
        所占内存长度是各成员所占内存的总和

        typedef struct XXX
        {
           int a;
           char b;
        }txxx;
        txxx data;


        typedef struct XXX
        {
           int a:1;
           int b:1;
           int c:30;
        }txxx;

        使用typedef 定义结构体时,给XXX结构体起别名txxx,后续定义可以不用struct XXX,直接用txxx

2.结构体指针

        typedef struct XXX
        {
           int a;
        }txxx;
        txxx *data;

        (*data).a;
        data->a;

3.联合体

        使几个不同类型的变量共占一段内存
        整个联合体所占内存长度为最长成员占的内存长度

        typedef union XXX
        {
           int a;
           char b;
        }txxx;
        txxx data;

4.联合体应用实例 - 判断大小端问题

        union myunion
        {
           int a;
           char b;
        }
        int little_endian(void)
        {
           union myunion data;
           data.a = 0x12345678;
           if(data.b == 0x78)
              //小端
           else if(data.b == 0x12)
              //大端 
        }

9517e0b80733415fb6072d5bd2ae9fdd.png

5.联合体内嵌结构体

        typedef union XXX
        {
           int all;
           struct
           {
              int b:16;
              int c:16;
           }s;
        }txxx;
        txxx data;

        data.all = 0;
        data.s.b = 0;

6.枚举

        enum
        {
           a = 0,
           b,
           c
        };

 

 

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

相关文章:

  • 第四弹:Flutter图形渲染性能
  • 基础算法(三)#蓝桥杯
  • 人工智能在增强数据安全方面的作用
  • python】jupyter notebook导出pdf和pdf不显示中文问题
  • 通过SDKMAN安装各种版本JDK
  • 软考高级:软件架构风格概念和例题
  • Vue3响应式编程
  • 决策树算法优化(一篇文章 理解)
  • 【C语言步行梯】自定义函数、函数递归详谈
  • 小米汽车上市进入倒计时,已开启内部试驾
  • React render方法的原理?在什么时候会被触发?
  • 打卡学习kubernetes——了解kubernetes组成及架构
  • python(ogr)处理geojson为本地shp文件
  • Docker容器化技术(使用Dockerfile制作镜像)
  • C++ struct 结构体类型
  • 什么是VR虚拟现实体验店|VR主题馆加盟|元宇宙文化旅游
  • 【智能家居入门1之环境信息监测】(STM32、ONENET云平台、微信小程序、HTTP协议)
  • AIGC安全研究简述(附资料下载)
  • 初识Spring MVC
  • 云原生之容器编排实践-ruoyi-cloud项目部署到K8S:Nginx1.25.3
  • PHP立体安全攻击向量:保护应用程序的关键挑战
  • 【功能大全】手机短信验证码一键注册登录流程
  • 【Python】【Matplotlib】深入解析plt.grid()---原理、应用与注意事项
  • 数据库规范化设计案例解析
  • 服务器段的连接端口和监听端口编程实现
  • 用“定时执行专家”武装你的电脑,做时间管理大师!
  • css3实现3D立方体旋转特效源码
  • 计算器系统基础知识-校验码
  • springboot换日志框架后爆SLF4J: Class path contains multiple SLF4J bindings的解决办法
  • k8s+zabbix