
编程与数据结构
文章平均质量分 80
钢琴上的汽车软件
汽车电子软件开发高级工程师,负责过多个主机厂和零部件厂的项目开发,在自动驾驶、车联网领域有近7年的经验,目前专注于AUTOSAR系统开发和应用。微信公众号《汽车电子软件开发》作者。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
浮点数在C语言开发中为什么不精确?
浮点数在C语言中不精确的根本原因在于其二进制表示方式的局限性。IEEE 754 标准的浮点数只能近似表示某些十进制小数,并且在运算过程中会引入舍入误差。在实际开发中,我们需要理解浮点数的工作原理,并采取适当的策略来应对精度问题。通过使用高精度库、避免直接比较浮点数、减少运算次数等方法,可以有效降低浮点数精度问题对程序的影响。希望本文能帮助你更好地理解浮点数在C语言中的行为,并在开发中避免常见的陷阱。原创 2025-01-10 15:05:59 · 935 阅读 · 0 评论 -
C语言知识大全
在计算机科学的广阔天地中,C语言犹如一颗璀璨的明珠,历经数十年依旧闪耀着光芒。自从1972年由丹尼斯·里奇(Dennis Ritchie)在贝尔实验室创造以来,C语言不仅成为了系统编程、嵌入式开发和操作系统领域的中坚力量,更是影响了后续无数编程语言的设计和发展。本篇文章旨在为您提供一份全面的C语言知识大全,无论您是初窥门径的新手,还是已经沉浸代码多年的老手,都能在这里找到宝贵的信息和深刻的见解。原创 2024-12-25 14:31:42 · 305 阅读 · 0 评论 -
函数分派表:提升C语言代码性能与优雅度
函数分派表,也称为跳转表,是一种通过函数指针数组实现的技术。这种数组允许程序直接跳转到对应的函数执行,避免了传统Switch语句的逐个条件判断,从而提高了性能。fill:#333;color:#333;color:#333;fill:none;原创 2024-12-25 13:42:01 · 411 阅读 · 0 评论 -
静态链表详解(C语言版)
7char data;int cur;}component;//将结构体数组中所有分量链接到备用链表中//初始化静态链表//向链表中插入数据,body表示链表的头结点在数组中的位置,add表示插入元素的位置,a表示要插入的数据//删除链表中含有字符a的结点//查找存储有字符elem的结点在数组的位置//将链表中的字符oldElem改为newElem//输出函数//从备用链表中摘除空闲节点的实现函数//将摘除下来的节点链接到备用链表上。转载 2024-06-28 13:38:22 · 2675 阅读 · 0 评论 -
MISRA C规则解读
必需。类型应被显式声明。必需。函数应以原型形式命名参数。必需。所有对象和函数的声明需要使用完全相同的名字和参数。必需。当定义有外部链接的对象或函数时,兼容声明是可见的。必需。外部变量或函数应被在仅一个文件内被声明过。必需。有外部链接的标识符应有一个确切的外部定义。建议。若函数和对象仅被一个单元引用,最好不定义外部链接。必需。静态存储类说明符应在所有具有内部链接的对象和函数的声明中使用。建议。如果一个对象的标识符仅在一个函数内出现,该对象应被定义在一个块域中。必需。原创 2024-06-04 15:42:39 · 982 阅读 · 0 评论 -
__attribute__((weak))介绍以及用法
在c语言中,函数和初始化的全局变量是强符号,未初始化的全局变量是弱符号。强符号和弱符号的定义是连接器用来处理多重定义符号的,它的规则是:不允许多个强符号;如果一个强符号和一个弱符号,这选择强符号;如果多个弱符号,则任意选一个。转载 2024-05-13 13:36:38 · 1182 阅读 · 0 评论 -
链表基础知识详解(非常详细简单易懂)
链表作为C语言中一种基础的数据结构,在平时写程序的时候用的并不多,但在操作系统里面使用的非常多。不管是RTOS还是Linux等使用非常广泛,所以必须要搞懂链表,链表分为单向链表和双向链表,单向链表很少用,使用最多的还是双向链表。单向链表懂了双向链表自然就会了。转载 2024-04-19 15:40:31 · 1495 阅读 · 0 评论