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)

相关推荐
用户219032652735几秒前
SpringBoot自动配置:为什么你的应用能“开箱即用
java·spring boot·后端
爱笑的眼睛11几秒前
TensorFlow Hub:解锁预训练模型的无限可能,超越基础分类任务
java·人工智能·python·ai
shehuiyuelaiyuehao6 分钟前
7类和对象
java·开发语言
LYFlied10 分钟前
【每日算法】LeetCode 104. 二叉树的最大深度
前端·算法·leetcode·面试·职场和发展
arron889911 分钟前
以目标检测基础知识学习分割模型算法
学习·算法·目标检测
凤凰战士芭比Q12 分钟前
Jenkins(Pipeline job)
java·servlet·jenkins
IT方大同13 分钟前
循环结构的功能
c语言·数据结构·算法
代码不停22 分钟前
BFS解决拓扑排序和FloodFill问题
java·算法·宽度优先
TL滕23 分钟前
从0开始学算法——第二十一天(复杂链表问题)
笔记·学习·算法
Chengbei1128 分钟前
CVE-2025-24813 Tomcat 最新 RCE 分析复现
java·安全·web安全·网络安全·tomcat·系统安全·网络攻击模型