• 好好学习,天天向上~
  • 欢迎欢迎~

lcc的文章

c语言

C语言经典面试题详解(第1节)

程序员们求职时,常常会被要求回答一些“奇葩”而又不实用的问题,但这些题目确实能够从某种程度上反映出一个人的技术水平,作为求职者的我们,既然无力改变这种招聘流程,就只能努力提升自己——从这些“奇葩”的面试题目中找出自己的不足。 先来看看这个问题 以下C语言代码输出什么?这个题目出...

2周前 (02-05) 50℃ 0评论 0

c语言

几个是大多C语言初学者都会迷惑的问题

绝大多数C语言编程教材在介绍到数组时都会提到:数组下标是从 0 开始编号的,使用数组时一定不能超出定义的元素个数。这当然没什么好说的,初学者看到这句话,一般都会遵守。 奇怪的C语言数组 不过,总有人乐意折腾,小明发现在C语言编程里定义了数组后,使用数组即使超出了最大的元素个数,...

2周前 (02-05) 35℃ 0评论 0

linux笔记

Linux学习第23节,内核中的“中断”机制

前面几节,我们主要分析和讨论了 Linux 内核中常用的几种数据结构(链表、队列、映射、二叉树、红黑树)以及相关C语言代码实现,这是研究 Linux 内核其他内容的基础,本节将介绍一下内核中的“中断”机制。 中断的基本概念 现在来设想一个简单,但是又很常见的场景:当用户按下键盘...

2周前 (02-05) 28℃ 0评论 0

单片机

单片机很好玩14,制作“人工向日葵”,自动寻光

上一节介绍了如何使用C语言编程单片机控制步进电机转动,在文章最后提到,只要再结合感光器件,我们就能够制作一个“人工向日葵”,如下图: 可以看出,单片机控制步进电机带着“箭头”始终指向光源,就好像向日葵一直跟着太阳一样。怎么做呢? 两项基本工作 这里仍然计划使用 51 单片机作为...

3周前 (01-30) 27℃ 0评论 0

linux笔记

linux学习22,linux内核中的红黑树是怎样设计和使用C语言实现的?

上一节较为详细的讨论了普通二叉搜索树的局限性,在此基础上引出了红黑树的概念并介绍了其原理。在文章最后提到,为了维护一棵红黑树,在插入或者删除节点后,需要对二叉树做重着色和变换操作。那么,为什么要做重着色和变换操作呢?怎么做呢?本节将结合 linux 内核源代码讨论之。 为什么红...

3周前 (01-30) 21℃ 0评论 0

linux笔记

linux学习21,自平衡二叉树和红黑树的原理和特点

二叉搜索树的局限性 上一节较为详细的介绍了C语言中的二叉搜索树,提到数据采取二叉搜索树的结构存储,可以获得不错的搜索性能。 二叉搜索树之所以有不错的搜索效率,是因为在往树中插入数值时,始终严格的遵守左子节点值比父节点值小,右子节点值比父节点大的准则。以搜索 12 为例: 从根节...

4周前 (01-26) 38℃ 0评论 2

linux笔记

linux学习第20节,二叉树的特性和插入、查询、删除等基本操作

前面几节较为详细的讨论了 linux 内核常用的链表、队列、映射等几种数据结构,本节将介绍C语言中另一种重要的数据结构——二叉搜索树(通常简称为BST),并且将一行一行写出相关的C语言代码。 二叉树的概念 树结构是一个多层的特定数据结构,每个节点之间通过指针连接(这点有些像链表)...

4周前 (01-24) 44℃ 0评论 0

单片机

单片机很好玩12,制作亮度随环境亮度变化的小灯

上一节,我们利用C语言编程单片机仿制了达文西的“古怪手电筒”,达成了“在有光的时候就会亮,在没有光的情况下绝对不会亮!”的目标。 其实在此基础上,C语言还能做些更好玩的东西。例如,制作一个小灯,这个小灯的亮度能够随着环境光线自我调整改变,如下图: 可以看出,当环境光线较强时,L...

4周前 (01-23) 47℃ 0评论 0