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

C语言基础13

今天是学习嵌入式相关内容的第十四天,以下是今日所学内容

1.结构体:
    1.结构体类型定义
    2.结构体变量的定义
    3.结构体元素的访问
    4.结构体的存储

        内存对齐

        结构体整体的大小必须为最大基本类型长度的整数倍
    5.结构体作为函数参数

值传递


        练习:定义一个学生的类型,封装一个函数GetStuInfo获得学生信息放入结构体中,
            再封装一个函数PutStuInfo打印学生信息

指针传递

    6.结构体数组:
        struct student s[5];

2.共用体:

    共用体所有成员变量共享同一片空间

    内存大小端

方法1

放法2(共用体)

3.枚举:

    1.枚举类型一般说明将来变量的值在给定的常量中选择其一作为它的值
    2.枚举常量的值总是前一个枚举常量的值+1,第一个默认为0值
    3.枚举常量默认为int类型,可以直接在程序中使用

用枚举完成车牌限号

4.位运算运算符:
    &   按位与           与0得0
    |   按位或             或1置1
    ^   按位异或        相同为0 相异为1
    ~   按位取反
    >>  右移            右移n位 等价于 让该数 / 2^n 
    <<  左移            左移n位 等价于 让该数 * 2^n 

    按位异或实现数据交换:
        a = a ^ b;
        b = a ^ b;
        a = a ^ b;

    将变量的第n位置0:
        num = num & ~(1 << n)

    将变量的第n位置1:
        num = num | (1 << n)

相关文章:

  • HarmonyOS 鸿蒙应用开发 (七、HTTP网络组件 axios 介绍及封装使用)
  • TortoiseSVN各版本汉化包下载
  • 学习使用Flask模拟接口进行测试
  • 第3章-python深度学习——(波斯美女)
  • MySQL:MVCC原理详解
  • java:实现查询MySQL数据库中的数据,并导出excel、pdf类型文档(超详细)
  • Unity 命令模式(实例详解)
  • HCIA-HarmonyOS设备开发认证-3.内核基础
  • GO——SELECT
  • 高光谱图像加载、归一化和增强(jupyter book)
  • 【JavaEE】UDP协议与TCP协议
  • 用Flask打造一个大模型智能问答WEB网站
  • 温酒读Qt:QObject中篇2 ——欲遮还羞的 QObjectPrivate
  • OSPF协议解析及相关技术探索(C/C++代码实现)
  • C++核心编程:文件操作 笔记
  • 「面试题」如何实现一个圣杯布局?
  • 2017届校招提前批面试回顾
  • bootstrap创建登录注册页面
  • es6--symbol
  • HashMap剖析之内部结构
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • PHP变量
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • SQLServer之创建数据库快照
  • 力扣(LeetCode)21
  • 利用jquery编写加法运算验证码
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 实战|智能家居行业移动应用性能分析
  • 在Docker Swarm上部署Apache Storm:第1部分
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • #define、const、typedef的差别
  • (07)Hive——窗口函数详解
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (C语言)字符分类函数
  • (TOJ2804)Even? Odd?
  • (windows2012共享文件夹和防火墙设置
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (多级缓存)缓存同步
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (图)IntelliTrace Tools 跟踪云端程序
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转) Android中ViewStub组件使用
  • (转)ObjectiveC 深浅拷贝学习
  • (转)负载均衡,回话保持,cookie
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .NET Core中的去虚
  • .Net 应用中使用dot trace进行性能诊断
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET开发人员必知的八个网站
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • @ComponentScan比较
  • []C/C++读取串口接收到的数据程序