当前位置: 首页 > 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)

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

相关文章:

  • 【Java】Maven配置加载到全局
  • 右手螺旋线定则
  • 2024 高级前端面试题之 React 「精选篇」
  • OSPF协议解析及相关技术探索(C/C++代码实现)
  • 如何恢复已删除的照片?
  • VMware虚拟机安装macOS
  • API管理协作工具:Apipost
  • GPT-SoVITS 本地搭建踩坑
  • 【教学类-34-02】20240130纸尺2.0 (A4横版5条,刻度25*5=125CM,有图案)
  • iText操作pdf
  • 关于SQLite 的下载与使用。配合python
  • java面向对象基础(面试)
  • 【C++修行之道】STL(初识list、stack)
  • 【环境配置】安装了pytorch但是报错torch.cuda.is_availabel()=Flase
  • 什么是模板方法模式?它的实现方式有哪些?
  • java:实现查询MySQL数据库中的数据,并导出excel、pdf类型文档(超详细)
  • Java后端须知的前端知识
  • Servlet基础之URL匹配规则
  • 【面试真题】Javascript 实现多条件过滤数组
  • spark广播变量
  • 如何让wordpress首页只显示某一篇文章全部内容?在您的主页显示选择
  • Git怎样用?(下载到本地,和在本地初始化)
  • JVM基础知识汇总篇
  • 马哈鱼SQLFlow Lite的python版本
  • 【原创】VMware创建子网,并使用软路由获得访问互联网的能力,并通过静态路由让上层网络访问位于虚拟机的子网
  • 华为和思科各数通设备的常用命令
  • Qt Excel读写 - QXlsx的安装配置以及测试
  • 【报错处理】ModuleNotFoundError: No module named ‘paddle.fluid‘
  • Wpf 使用 Prism 实战开发Day16
  • 八斗学习笔记