学习日志以及个人总结 (16)

共用体

共用体
union 共用体名
{
成员列表;
};//表示定义一个共用体类型


注意:
1.共用体
 初始化 --- 只能给一个值,默认是给到第一个成员变量
2.共用体成员变量辅助
3.可以判断大小端 ----※!!
  实际用途 :节省空间
             进行数据转换
 
 比如:
 struct stu
 {
    char name[20];
    int sno;
    float score;
 };
 struct teacher
 {
    char name[20];
    int Tno;
    float salary;
 };       
 ----------------------
 
 struct member
 {
    char name[20];
    int no;
    
    union
    {
        float score;
        float salary;
    }d;
    
 };

 4.共用体变量作为函数参数,也可以是函数返回值类型
 
    共用体结构体类型定义出来之后
    a.定义变量
    b.定义数组
    c.定义指针
    d.做函数参数,返回值类型

共用体判断大小端

  1 #include<stdio.h>2 3 union demo4 {5     int a;6     char b;7     short c;8 };9 10 int isEnddian(vodi)11 {12     union demo13     {14         int a;15         char b;16     }d;17 18     d.a=1;19     return d.b;                                                                                                                                                                                         20 }21 int main(void)22 {23     union demo d={'a'};24 25     d.a=0x12345678;26     d.b='a';27     d.c=0x99;28     printf("a=%#x\n",d.a);29     printf("b=%c:%#hhx\n",d.b,d.b);30     printf("a=%#x\n",d.c);31 }

枚举

枚举:一枚一枚的列举 

enum //枚举   实际上是一种数组类型(int)
enum 枚举类型名
{
    
};

提高代码可读性。本质:int类型 所以枚举和整型类型兼容

不足 :因为枚举类型--本质上是一个整型类型
所以枚举类型变量的值 并不能真正限定在 指定的那些值范围中。
 

例题无人机

 1 #include<stdio.h>2 enum nopeopleFly3 {4     flying,5     stop,6     holding7 };8                                                                                                                                                                                                         9 int main(void)10 {11     enum nopeopleFly n;12     int a ;13     scanf("%d",&a);14     n=a;15     switch(n)16     {17         case 0:18     printf("flying\n");19         break;20         case 1:21     printf("stop\n");22         break;23         case 2:24     printf("holding\n");25         break;26     }27 28     return 0;29 }

链表

链表:链式的数据表
 
 狗链! //寻找数据
 
优点:增加 删除数据较为方便
缺点:找数据不方便
 
存放链式数据的结构
节点[数据|另外一个节点指针] 
 
 [数据域|指针域]
 
 节点:
 struct Node
 {
//数据域
    struct stu s;
//指针域
    struct Node *next;
 };
 
 数据结构对应算法 --- 操作
 
 增加数据就是增加节点
 删除数据就是减少节点
 
 操作:
 1,创建一个链表---空链表
 //有头链表 ---更方便处理链表
 //无头链表  
 
 c语言阶段:
 有头 单向链表
 
 空链表的特点为:只有头节点 并且头节点指针域为NULL //即相当于尾节点
 
 2.插入
    创建一个新的节点
    将节点链接起来


    实现链表操作


void pushBack(struct Node *head)
{    //尾插
    S1:创建一个新的节点
    struct     Node *pNew = malloc(sizeof(struct Node));
                                    栈上
    S2:找尾节点
    struct Node *p =&head;//此时p在头节点
    p = p->next;
    while(p->next != NULL)
    {
        p = p->next;//让P指向下一个节点
    }
    S3.链接到尾节点后面
    p->next = pNew;
    pNew->next = NULL;//尾节
}    
    //链表不放入栈上  放入堆
    
    int length(struct Node *head)
    {
        //统计有效节点的个数
    }
 
    //头插 
    void pushFront(struc Node *head ,int data)
    {
    //1.创建新节点
    pNew
    //2.链接
    pNew->next = p->next;
    p->next = pNew;
    }

 1 #include<stdio.h>                                                                                                                                                                                       2 #include<stdlib.h>3 struct Node4 {5     int data;6     struct Node *next;7 };8 9 void pushBack(struct Node *head,int data)10 {  //创建新节点11     struct Node *pNew = malloc(sizeof(struct Node));//放在堆区12     pNew->data =data;13     //链接14     struct Node *p =head;//此时p在头节点15 16     while(p->next != NULL)17     {18         p = p->next;//让p指向下一个节点19     }20     p->next = pNew;21 22     pNew->next = NULL;23 }24 25 int isEmpty(struct Node *head)26 {27     if(head->next == NULL)   //判断是否是空链表28     {29         return 1;30     }else31     {32         return 0;33     }34 }35 36 void printLinklist(struct Node *head)37 {38     struct Node *p =head;39     if(isEmpty(head) == 0)40     {41         p=head->next;42         while(p != NULL)43         {44             printf("%d\n",p->data);45             p=p->next;46         }47     }48 }49 50 int lengh(struct Node *head)51 {52     struct Node *p=head->next;53     int c=0;54     while(p!=NULL)55     {56         c++;57         p=p->next;58     }59     return c;60 }61 62 void pushFront(struct Node *head,int data)63 {64     struct Node *pNew = malloc(sizeof(struct Node));65     pNew->data = data;66 67     struct Node *p=head;68     pNew->next = head->next;69     p->next = pNew;70 71 }72 73 int main(void)74 {75     struct Node head;76     head.next = NULL;//空链表77     pushBack(&head,1); // 将一个新元素加到 head后面 78     pushBack(&head,2);79     pushBack(&head,3);80     pushBack(&head,4);81     pushBack(&head,5);82     printf("lengh = %d\n",lengh(&head));83     printLinklist(&head);84     return 0;85 }                                            

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cesium 多边形渐变颜色

cesium画一个渐变颜色的多边形 方式一&#xff1a;用一张颜色渐变的图片作为材质&#xff0c;结合color属性&#xff0c;可设置多边形的颜色&#xff0c;达到渐变效果。图片指向正北方向。 viewer.entities.add({polygon: {hierarchy: Cesium.Cartesian3.fromDegreesArray([115…

bs4模块

bs4模块与案例 使用指南 bs4&#xff0c;全称BeautifulSoup 4&#xff0c;是Python中一个强大的网页解析库&#xff0c;它可以帮助我们方便地从网页中提取数据。bs4将复杂HTML文档转换成树形结构&#xff0c;每个节点都是Python对象&#xff0c;所有对象可以归纳为4种&#xf…

Springboot3.x+dubbo3.x+jdk17 开发的微服务框架

项目名字&#xff1a;Aspen 项目简介&#xff1a; 项目使用的jdk17、springboot3.1.2、dubbo3.2.10、nacos2.2.1、mybatis-flex1.7.7为基础搭建了一套简易的微服务框架 做这个项目的初衷就是心血来潮想试试dubbo3.X和springboot3.x和jdk17融合结果&#xff0c;简单来看效果还…

【PaddleSpeech】语音合成-男声

环境安装 系统&#xff1a;Ubuntu > 16.04 源码下载 使用apt安装 build-essential sudo apt install build-essential 克隆 PaddleSpeech 仓库 # github下载 git clone https://github.com/PaddlePaddle/PaddleSpeech.git # 也可以从gitee下载 git clone https://gite…

Python 异步任务队列实现

在实际开发中,我们经常需要进行异步任务的处理,以提高程序的效率和响应速度。本文介绍了使用 Python 中的 queue 模块和多线程实现一个简单的异步任务队列。通过该队列,我们可以异步执行任务,并在任务完成后进行回调处理。 代码实现 首先,我们定义了一些简单的示例函数,…

EBC金融英国CEO:高波动性周期下,如何寻找市场的稳定性?

利率主导的市场&#xff0c;将在2024年延续。目前&#xff0c;固收市场对于降息的定价&#xff0c;正通过利率传导至不同资产中。尽管市场迫切利用通胀去佐证降息&#xff0c;但各国央行仍囿于通胀目标的政策桎梏。政策和市场预期的博弈将继续牵动市场脉搏&#xff0c;引发价格…

基于SSM+MySQL的的新闻发布系统设计与实现

目录 项目简介 项目技术栈 项目运行环境 项目截图 代码截取 源码获取 项目简介 新闻发布系统是一款基于Servletjspjdbc的网站应用程序&#xff0c;旨在提供一个全面且高效的新闻发布平台。该系统主要包括后台管理和前台新闻展示两个平台&#xff0c;涵盖了新闻稿件的撰写…

充电桩项目实战:搞定多数据源!

你好&#xff0c;我是田哥 最近&#xff0c;我在对充电桩项目进行微服务升级中&#xff0c;既然是项目升级&#xff0c;难免会遇到各种各样的问题。比如&#xff1a;分布式事务问题、多数据源问题、分布式锁问题等。 项目技术栈&#xff1a; SpringSpring BootSpring Cloud Ali…

Backend - Django CSRF 跨域请求伪造

目录 一、CSRF & XSS &#xff08;一&#xff09;CSRF 1. 含义 2. 攻击原理 &#xff08;1&#xff09;浏览器特点 &#xff08;2&#xff09;攻击方式 &#xff08;二&#xff09;XSS 1. 含义 2. 攻击原理 &#xff08;三&#xff09;二者区别 二、Django Ajax…

JavaScript基础(二)—— 运算符、表达式与语句(if、switch、循环)

学习目标&#xff1a; 掌握常见运算符&#xff0c;为程序“能思考”做准备 掌握分支语句&#xff0c;让程序具备判断能力 掌握循环语句&#xff0c;让程序具备重复执行能力 一、运算符 1. 赋值运算符 对变量进行赋值的运算符&#xff0c;能够使用赋值运算符简化代码。 …

推荐系统|概要03_AB测试

文章目录 A/B测试问题流量不够用解决方案——分层实验 Holdout 机制 A/B测试 其中小流量是指对部分的用户先尝试改进的算法模型&#xff0c;而非全部。若为全部&#xff0c;如果算法模型存在问题&#xff0c;可能会导致用户体验差&#xff0c;导致用户流失&#xff0c;而小流量…

Kubernetes实战(二十二)-Pod时区修改

一般国内引用的基础镜像时区都是 UTC 时区&#xff0c;在此基础上&#xff0c;如果去容器查看日志的话就会发现和本地时间对不上&#xff0c;会导致一些问题出现&#xff0c;比如输出的日志时间和当前不一致&#xff0c;所以一般都会把操作系统或容器里的时区替换为 Shanghai。…

深入探究iframe:网页嵌入的魔法盒子(下)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

DATAX改造支持geometry类型数据同步

数据库使用postgresql安装了postgis插件存储了geometry空间数据&#xff0c;想使用datax做数据同步&#xff0c;但datax本身不支持geometry类型数据&#xff0c;如何改造呢&#xff1f; 1.首先下载已改造支持geometry类型的datax引擎&#xff0c;下载地址 https://download.c…

Jmeter性能测试: Jmeter 5.6.3 分布式部署

目录 一、实验 1.环境 2.jmeter 配置 slave 代理压测机 3.jmeter配置master控制器压测机 4.启动slave从节点检查 5.启动master主节点检查 6.运行jmeter 7.观察jmeter-server主从节点变化 二、问题 1.jmeter 中间请求和响应乱码 一、实验 1.环境 &#xff08;1&#…

oracle数仓rac两个节点查询耗时不一致问题处理

问题描述 数据库节点1查询比节点2查询慢。现场操作应用发现发现同一sql语句在节点2上只要2分钟左右&#xff0c;在节点1&#xff0c;该条sql执行要超过30分钟。 处理过程 根据问题&#xff0c;初步判断是由于错误的执行计划&#xff0c;导致性能问题&#xff0c;但实际上对两…

编程流程图

对于复杂流程&#xff0c;我做开发之前一般会 先画一下流程图。特别是多个部门有交叉的情况下&#xff1a; processOn&#xff1a; 这个是我之前 一直的选择&#xff0c;他可以画上面的这些&#xff0c;流程图&#xff0c;网页操作&#xff0c;但是他不是免费的&#xff0c;查过…

MySQL常用命令集

1、数据库操作 1.1、显示数据库列表 show databases; 1.2、显示库中的数据表 use mysql; show tables; 1.3、显示数据表的结构 describe 表名; 1.4、建库 create database 库名; 1.5、建表 use 库名&#xff1b; create table 表名 (字段设定列表)&#xff1b; 1.…

leetcode LCP 24. 数字游戏【等价转换+对顶堆维护中位数】

原题链接&#xff1a;LCP 24. 数字游戏 题目描述&#xff1a; 小扣在秋日市集入口处发现了一个数字游戏。主办方共有 N 个计数器&#xff0c;计数器编号为 0 ~ N-1。每个计数器上分别显示了一个数字&#xff0c;小扣按计数器编号升序将所显示的数字记于数组 nums。每个计数器…

JavaScript事件冒泡和捕获

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 事件传播是JavaScript中非常重要的一个概念,它描述了从嵌套元素到祖先…