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 小时前
Tomcat详解
java·tomcat
轻抚酸~3 小时前
KNN(K近邻算法)-python实现
python·算法·近邻算法
S***26755 小时前
基于SpringBoot和Leaflet的行政区划地图掩膜效果实战
java·spring boot·后端
Yue丶越5 小时前
【C语言】字符函数和字符串函数
c语言·开发语言·算法
马剑威(威哥爱编程)5 小时前
鸿蒙6开发视频播放器的屏幕方向适配问题
java·音视频·harmonyos
JIngJaneIL5 小时前
社区互助|社区交易|基于springboot+vue的社区互助交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·社区互助
小白程序员成长日记6 小时前
2025.11.24 力扣每日一题
算法·leetcode·职场和发展
有一个好名字6 小时前
LeetCode跳跃游戏:思路与题解全解析
算法·leetcode·游戏
V***u4536 小时前
MS SQL Server partition by 函数实战二 编排考场人员
java·服务器·开发语言
这是程序猿6 小时前
基于java的ssm框架旅游在线平台
java·开发语言·spring boot·spring·旅游·旅游在线平台