嵌入式day17
创始人
2024-11-13 06:07:24

尾插:

头删:

尾删:

双向链表:

循环链表:

内存泄漏(malloc 调用的节点需要手动清除)

清除:

头删效率更高,算法复杂度更低

共用体

共用体的成员,会共同占用相同的内存空间

共用相同的内存空间(最大的),有效的为最后输入的字节

为了节省空间

共用体的覆盖总是向前顶,所以成员地址都相同

利用共用体,判断计算机的大小端

判断IP地址:

共用体的变量可以作为函数参数传递,通过指针传参

共用体也要遵循对齐原则

枚举类型

如果一个变量只有几种可能,则可以定义为枚举类型

week 可能的取值为定义的枚举型常量

枚举的常量可以自己定义

本质为int ,排列和数组类似

用typedef定义类型

INT变成类型名

为已有的数据类型起别名

a为整型一维数组

位运算

按位与:指定位 清零

32灯全亮 --第3个灯灭

所有位运算要求数据类型为整型或与整型相兼容的

按位或:指定位 置1,其他位不变

按位异或:指定位 翻转

两个比特位相同,结果为0,不同为1

不使用中间变量,交换两数:

连续两次异或同一个数,还是数本身

按位取反:(单目运算符)

左移:

逻辑左移,抛掉最高位,补0

判断某个比特位是0还是1

计算1的个数:

右移:

算数右移:有符号类型,最后一位移出去后,前面有可能补0(i 为正数),也有可能补1(i 为负数)

逻辑右移:无符号类型,最后一位移出去后,前面补0

建议编写参与位运算的数据类型时,标明是否有符号,即加signed 或 unsigned

------------------

嵌入式学习第十七天,今天c语言全部结束,做了个小测试发现自己c语言方面的还是有许多欠佳的地方,很多东西的概念都不是很清晰,全都是一知半解的,所以很多题目没有头绪,还有就是各种常用的算法记忆也不是特别牢固。所以后面的学习还是要经常回过头来复习c语言方面的知识,多想多练,后面继续加油吧

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...