
优雅C语言系列
文章平均质量分 53
weymin
make it easier
展开
-
内联函数,用还是不用
内联函数和宏定义在作用上有一定的类似,但细节上还是有几点区别,所以具体用宏定义还是内联函数,看具体的需求是什么。内联函数有返回值。内联函数有参数检查。断点支持。内联函数支持打断点调试。方便外部进行调用,各模块需要用到的时候包含对应头文件即可,而不需要重复定义。值得注意的是,内联函数前面通常还会有static关键字进行修饰,这样的好处是限定了内联函数的作用域,因为内联并不是总会展开的,如果没有展开,且没有static修饰,则会出现重复定义的错误。原创 2023-10-30 17:23:31 · 175 阅读 · 0 评论 -
浅谈链表对stm32程序的提升作用(C语言)
当然,链表也并不是完全优于数组的,链表的访问只能从头节点开始,而数组的访问,可以直接使用下标,结合一定的算法,如二分排序法等,使用数组的方法的查找效率就高于链表的方法,具体如何选择,需要看实际的应用场景。3,当学生数量比较大时,遇到删除信息的操作,程序的处理效率非常低,处理方法通常是,找个需要删除的信息的存放位置,然后把后面的信息逐步往前覆盖,如果删除的是最后一个,则设置为0,从而达到删除的目的。但这样的做法存在很多方面的问题,当一个数组被创建时,其在内存中的大小就已经被固定了,所以,原创 2019-06-22 11:47:33 · 3177 阅读 · 1 评论 -
container_of解析及应用
container_of是一个C语言中比较少见,但实际在Linux kernel和zephyr rtos中都经常用到的宏。它的作用是通过结构体成员的指针获取整个结构体的指针。通常用于实现一些数据结构或者在底层编程中进行指针操作。是C编译器的内置宏。它是GCC编译器提供的一个特殊宏,用于计算结构体成员的偏移量。原创 2023-10-25 12:04:00 · 505 阅读 · 0 评论 -
优雅的c语言宏定义比较大小
写一个宏定义,返回两个数中较大的一个。相信绝大部分同学都能闭着眼睛写出来,但闭着眼睛写的真的对吗,怎么样写可以做到极致的优雅,适用几乎所有应用场景。原创 2023-10-25 11:58:46 · 2049 阅读 · 0 评论