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
        };

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/450965.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如果电脑缺少dll文件怎么解决?如何快速解决dll丢失问题

最近有小伙伴问电脑老是缺少dll文件,这种问题到底要怎么去解决呢?其实这种现象是正常的,为啥说正常呢,下面我们会给大家详细的讲解dll为啥会缺少,然后还会讲解电脑缺少dll文件怎么解决的方法,好了&#xff…

Linux: 预备

计算机结构基础 由于速度原因, CPU不直接与外设打交道, 而是通过内存进行交互.(CPU速度 >> 外设) 操作系统: 内核 (管理软硬件) shell(给用户使用操作系统的方式) 操作系统封装了用户操作接口 相比于系统接口,使用更简单跨平台性: 不同的操作系统,其系统调用接口是不同…

代码随想录 贪心算法-难度题目-其他题目

目录 53.最大子数组和 134.加油站 968.监控二叉树 53.最大子数组和 53. 最大子数组和 中等 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个…

(SUB)app性能测试

APP性能测试(启动速度、内存、CPU、FPS、GPU、耗电量)_性能测试中fps分析-CSDN博客 app性能测试_app性能测试方案-CSDN博客 测试方案 服务端 平均响应时间 错误率 吞吐量 CPU/内存占用率 网络/硬盘的读写速度 客户端 启动速度 手机APP的启动时长是一个很容易被用户感…

【数据库】Oracle内存结构与参数调优

Oracle内存结构与参数调优 Oracle 内存结构概览oracle参数配置概览重要参数(系统运行前配置):次要参数(可在系统运行后再优化调整): Oracle数据库服务器参数如何调整OLTP内存分配操作系统核心参数配置Disabling ASMM(禁…

JSON基础知识

目录 一、定义二、作用三、特点四、语法JSON具有以下这些形式:4.1 对象(JSONObject):4.2 数组(JSONArray):4.3 值4.4 字符串4.5 数值 五、常用的JSON解析方式5.1 org.json解析5.1.1 常用api5.1.2 get方法与opt方法对比5.1.3 使用示例5.1.3 参…

面试不再愁,看这份保姆级简历写作指南

在现代社会,简历是求职过程中至关重要的一环。一份精心设计的简历可以为你打开求职的大门,让你脱颖而出。然而,许多求职者常常陷入简历写作的困境,不知道从何处入手。在这篇文章中,我将手把手地教你如何写一份引人注目…

Jmeter接口自动化-如何解决请求头Content-Type冲突问题

一、前言 通常我们在使用Jmeter做接口自动化时,在线程组里添加HTTP信息头管理器,用来管理公共的请求头信息。普通的接口自动化是没问题的,但是对于有些特殊的操作流程,如:先上传文件接口(信息头使用Conten…

openGauss学习笔记-240 openGauss性能调优-SQL调优-更新统计信息

文章目录 openGauss学习笔记-240 openGauss性能调优-SQL调优-更新统计信息240.1 背景信息240.2 操作步骤 openGauss学习笔记-240 openGauss性能调优-SQL调优-更新统计信息 在数据库中,统计信息是规划器生成计划的源数据。没有收集统计信息或者统计信息陈旧往往会造…

01 THU大模型之基础入门

1. NLP Basics Distributed Word Representation词表示 Word representation: a process that transform the symbols to the machine understandable meanings 1.1 How to represent the meaning so that the machine can understand Compute word similarity 计算词相似度 …

Huggingface中Transformer模型使用

一、Huggingface介绍 1、Huggingface定位 NLP自从Transformer模型出现后,处理方式有大统一的趋势,首先回答几个基础问题: 1、自然语言处理究竟要做一件什么事呢?自然语言处理最终解决的是分类问题,但是它不仅仅输出…

算法之二分查找算法

二分查找算法简介 1. 首先说明二分查找算法是比较恶心, 细节很多, 很容易写出死循环的算法, 但熟悉了之后是最简单的算法. 2. 其次我们可能听说过二分查找的前提是数组有序的前提下进行, 但其实不一定. 3. 二分查找算法有一套模板: 朴素的二分模板: 比较简单, 但是有局限性查找…

运维自动化之ansible

pxe 一键安装操作系统 操作系统只是提供一个平台 lnmp 需要多软件协同完成的一个简单项目 服务器正常运行 日常运维 巡检 服务器上的软件正常运行 zabbix 普罗米修斯 系统调优,架构调优 云计算核心职能 搭建平台架构 日常运营保障 性能效率优化 相关工具 代…

SDWAN专线对企业接入有门槛吗

SD-WAN(软件定义广域网)技术作为一种新型的网络解决方案,正在成为企业网络接入的热门选择。然而,对于企业来说,接入SD-WAN专线是否存在门槛,是一个值得探讨的问题。本文将从不同角度分析SD-WAN专线对企业接…

HTML 学习笔记(十一)表单

一、分块 1.单行文本框控件–文本框和密码框 文本框控件通过单标签input实现,其具有必要属性type来控制输入控件的类型(默认为text即文本信息),密码框的type为password(口令)。   表单的动作属性定义了目的文件的文件名。由动作属性定义的这个文件通常…

国内可用免费AI工具集

1、Kimi Chat 由月之暗面科技有限公司(Moonshot AI)开发的人工智能助手。擅长中英文对话,能够提供安全、有帮助且准确的回答。它的能力包括阅读和理解用户上传的文件,访问互联网内容,以及结合搜索结果来回答问题。比如…

【C#】WPF获取屏幕分辨率

SystemParameters提供的接口,其实是获取渲染过程中的实际高宽,是受系统DPI设置的影响。 以 1920 * 1080 和 125% DPI为例: 分辨率高度:1080,实际获取的高度为:864。 分辨率宽度:1920&#xff…

高项-项目整合管理

项目整合管理的目标 资源分配平衡竞争性需求研究各种备选方法裁剪过程以实现项目目标管理各个项目管理知识域之间的依赖关系 项目整合管理的过程 制定项目章程制定项目管理计划指导与管理项目工作管理项目知识监控项目工作实施整体变更控制结束项目或阶段 七个过程和五大过…

【1688运营】如何拆解竞争对手店铺和单品数据?

关注竞争对手数据是1688运营中不可或缺的一环,它有助于企业更好地了解市场环境、发现市场机会、学习成功经验、预测市场变化以及提升竞争力。以下是一些建议,帮助你全面、深入地分析竞争对手的店铺和单品数据: 1、监控店铺数据 可以通过店雷…

求第n个斐波那契数--c语言

用递归的方法&#xff1a; //用递归求第n个斐波那契数 int fib(int n){if(n<2){return 1;}else{return fib(n-1)fib(n-2); } } #include<stdio.h> int main(){int n0;printf("请输入n的值&#xff1a;");scanf("%d",&n);int result fib(n);…