
编程基本功
Huo的藏经阁
linux爱好者,平时喜欢阅读内核源码,从源码角度解开操作系统神秘面纱
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C中的#与##作用
平常阅读代码中,会经常遇到宏中使用#或者##号,很多初学者看到使用#或者##的定义宏时会有点头大其实区分两个东东非常简单:宏中使用#号 会将宏中的参数变为字符串,例如:#define toString(str) #str上述例子使用#号定义,将参数str转换成字符串,如果时toString(123456) 之后,123456数字会被转换成字符串“123456”##号的作用时黏贴符号的作用,将两个变量黏贴在一起,但是并不是转成字符串#define conVar(a,b) (a##b.原创 2022-05-22 12:45:43 · 505 阅读 · 0 评论 -
红黑树原件 及其插入、删除(附图说明)
一、概念R-B Tree,全称是Red-Black Tree又称红黑树,它是一种特殊的二叉查找树,红黑树的每个节点上都有存储位表示节点的颜色,可以是红或黑。二、特性每个节点或者是红色,或者是黑色 根节点是黑色的 每个叶子节点(NIL)是黑色的。注意:这里的叶子节点,是指为空的叶子节点 如果一个节点是红色的,则它的子节点必须是黑色的 从任意一个节点到其叶子的所有路径中,所包含的黑节点数量是相同的特性解析1:根据特性4可知,从每个叶子节点到根节点的所有路径中不能有两个连续的红节点特性解析转载 2020-08-08 11:40:45 · 485 阅读 · 0 评论 -
内联函数 —— C 中关键字 inline 用法解析
一、什么是内联函数在C语言中,如果一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗。为了解决这个问题,特别的引入了inline修饰符,表示为内联函数。栈空间就是指放置程式的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足所造成的程式出错的问题,函数的死循环递归调用...转载 2020-04-11 08:45:16 · 295 阅读 · 0 评论