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)

相关推荐
云原生指北1 小时前
GitHub Copilot SDK 入门:五分钟构建你的第一个 AI Agent
java
仰泳的熊猫2 小时前
题目2570:蓝桥杯2020年第十一届省赛真题-成绩分析
数据结构·c++·算法·蓝桥杯
Leinwin6 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
无极低码6 小时前
ecGlypher新手安装分步指南(标准化流程)
人工智能·算法·自然语言处理·大模型·rag
薛定谔的悦6 小时前
MQTT通信协议业务层实现的完整开发流程
java·后端·mqtt·struts
爱编码的小八嘎6 小时前
C语言完美演绎4-7
c语言
软件算法开发6 小时前
基于海象优化算法的LSTM网络模型(WOA-LSTM)的一维时间序列预测matlab仿真
算法·matlab·lstm·一维时间序列预测·woa-lstm·海象优化
enjoy嚣士6 小时前
springboot之Exel工具类
java·spring boot·后端·easyexcel·excel工具类
罗超驿6 小时前
独立实现双向链表_LinkedList
java·数据结构·链表·linkedlist