C/C++ 语言编程
文章平均质量分 74
整个架构的清晰,体现出编程之美。
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
李肖遥
这个作者很懒,什么都没留下…
展开
-
INTEL HEX FILES EXPLAINED
We often come across a problem where an understanding of Intel Hex file format will help in solving a programming issue or technical point. Intel Hex format is a standard layout for files produced by assemblers or C compilers when they compile your source翻译 2022-09-17 10:46:13 · 139 阅读 · 0 评论 -
C语言接口与实现:创建可重用软件的技术
关注、星标公众号,直达精彩内容来源:技术让梦想更伟大作者:李肖遥大家后,我是肖遥,静默的两天,终于可以在家里安静的坐下来,思考和躺平了。最近发现一本好书,《C语言接口与实现(创建可重用软件的技术)》,分享给大家。随时使用C语言开发渐渐的深入,就会面临可移植性,可拓展性,代码架构上的考虑,这本书感觉很经典,概念清晰、还有实例讲解,分享给大家。《C语言接口与实现(创建可重用软件的技术)》是一本...原创 2022-09-04 22:03:20 · 733 阅读 · 0 评论 -
串口接收应用——环形缓冲buffer
在单片机开发过程中,如串口通讯中,大家往往会遇到数据传输有时候并发量很大,处理不过来导致数据丢失。实际如何确保数据不丢失?估计有点经验的朋友都会想到缓冲存储。对的,先将数据存储起来,再慢慢对数据做处理。...原创 2022-07-28 15:04:03 · 680 阅读 · 0 评论 -
整理了一份通用的内存管理驱动代码
关注、星标公众号,直达精彩内容来源:技术让梦想更伟大作者:李肖遥malloc的全称是memory allocation,即动态内存分配,当无法知道内存具体位置的时候,想要绑定真正的内存空间的时候,就需要用到动态的分配内存。可以说动态内存分配在嵌入式开发中是经常用到的,也是比较容易出错和被忽略的,经常忘了free,导致分配失败程序死机等等。这里在工作的时候整理了一份...原创 2022-07-16 22:13:51 · 530 阅读 · 0 评论 -
C语言的核心和灵魂
关注、星标公众号,直达精彩内容来源:技术让梦想更伟大整理:李肖遥提起C语言,大部分开发者很自然就会想到指针二字。没错,作为C的核心和灵魂,它的地位咱们就不再赘述了。今天,我们想跟大家讲的是指针中的两个特有名词:“悬空指针”和“野指针”。悬空指针C语言中的指针可以指向一块内存,如果这块内存稍后被操作系统回收(被释放),但是指针仍然指向这块内存,那么,此时该指针就是“.........原创 2022-07-13 22:00:48 · 218 阅读 · 0 评论 -
C语言回调函数到底是怎么回事?
当说到回调函数,我先打个比方,在很多场景中,某个客户,拿着游戏项目想找某些游戏开发商合作,前提不知道他们的实力如何,先投石问路,然后在每家公司叫他们做好结构功能等设计,符合要求的我再投谁。对客户来说,我要的是先看看你们给我们写的代码是否有可维护性,可读性,可扩展性,灵活性,简洁性,可复用性,可测试性甚至是健全性等问题的慎重考虑。面对这些要求对开发商而言技术实力就显得更重要,写出符合客户要求的,在代码上,回调函数有时起着很关键性的作用。...原创 2022-06-21 16:49:42 · 327 阅读 · 0 评论 -
学好C++需要哪些知识,给大家画了几张图
关注、星标公众号,直达精彩内容来源:技术让梦想更伟大作者:李肖遥C++的学习还是很重要的,C++基础知识、计算机网络、操作系统、网络编程、数据结构与算法、数据库等等都是需要深入了解...原创 2022-01-10 22:10:00 · 1112 阅读 · 0 评论 -
C语言复合字面量应该如何使用?
关注、星标公众号,直达精彩内容来源:技术让梦想更伟大作者:李肖遥C语言中有没有见过(int [2]){19,20}或者int (*pt2)[4]的使用方法,字面上可能不好理解,这是C99之...原创 2021-06-29 08:37:00 · 483 阅读 · 0 评论 -
抛砖引玉 | 图解双端队列Deque
关注、星标公众号,直达精彩内容来源:技术让梦想更伟大作者:李肖遥队列与栈的概念队列(queue)是限定在表的一端进行插入,表的另一端进行删除的数据结构真香!20张图揭开「队列」的迷雾,一目...原创 2021-07-05 22:08:00 · 489 阅读 · 0 评论 -
c/c++参数入栈顺序和参数计算顺序
关注、星标公众号,直达精彩内容ID:技术让梦想更伟大作者:李肖遥如果大家细心的话应该知道c/c++语言函数参数入栈顺序为从右至左,那么为什么这样呢?来看看两个知识点:参数的计算顺序与压栈顺...原创 2021-06-18 08:38:00 · 354 阅读 · 0 评论 -
详解C语言那些可怕的野指针
关注、星标公众号,直达精彩内容来源:技术让梦想更伟大作者:李肖遥一、什么是野指针?指针是C语言的灵魂,同时也是很容易让人犯错的重难点,用错了指针将是一个灾难。指针变量的本质是值,这个特殊的...原创 2021-05-27 08:33:00 · 597 阅读 · 0 评论 -
C与C++关于*与&的传参解析
关注、星标公众号,直达精彩内容来源:技术让梦想更伟大作者:李肖遥函数参数传递主要有2种传递方式,值传递和引用传递,这个过程是实际参数将参数值传递给相应的形式参数,然后在函数中实现对数据处理...原创 2021-06-10 08:37:00 · 322 阅读 · 1 评论 -
【究根源】详解C语言变长数组
关注、星标公众号,直达精彩内容来源:技术让梦想更伟大作者:李肖遥最近在做通信协议相关项目,在通信过程中一般都会有包长,数据缓冲等等信息,而实际场景中,数据包长度是不确定的,使用数组的定长包...原创 2021-06-04 22:11:00 · 758 阅读 · 0 评论 -
C语言如何实现动态数组?
关注、星标公众号,直达精彩内容来源:技术让梦想更伟大作者:李肖遥提出问题请问在c语言里如何实现动态大小的数组啊,比如说int a[N];,这里N的值可以在程序中定,或者有什么方法可以实现类...原创 2021-04-29 08:38:00 · 591 阅读 · 0 评论 -
C语言#include还有些你不知道的事
关注、星标公众号,直达精彩内容来源:技术让梦想更伟大作者:李肖遥#include简介在C语言中#include是preprocessor的一条指令,告诉预处理器将指定头文件的内容插入到预处...原创 2021-05-22 08:30:00 · 250 阅读 · 0 评论 -
C语言中const的用法详解
关注、星标公众号,直达精彩内容来源:技术让梦想更伟大作者:李肖遥const基本介绍const是constant的简写,用来定义常量,它限定一个变量不允许被改变,产生静态作用。const最开...原创 2021-05-17 08:30:00 · 376 阅读 · 1 评论 -
初识 typedef void(*Func)(void)
关注、星标公众号,直达精彩内容来源:技术让梦想更伟大作者:李肖遥void (*Fun)(void);假如就只是写上这样的一句代码,显然这就是定义了一个变量Fun,这个Fun变量是一个指针,...原创 2021-05-15 08:47:00 · 2208 阅读 · 0 评论 -
C语言结构体成员赋值的深拷贝和浅拷贝
关注、星标公众号,直达精彩内容来源:技术让梦想更伟大作者:李肖遥最近在做通信协议的解析处理、传递分析等问题,总是遇到通信帧中的结构体拷贝等问题,遇到了一些坑,也是比较基础但是易错的C语言知...原创 2021-05-06 22:11:00 · 892 阅读 · 0 评论 -
如何避免循环中“突兀”的break和continue
关注、星标公众号,直达精彩内容来源:技术让梦想更伟大作者:李肖遥循环里Continue,Break,Return经常会用到,也是很容易出错的一个坑,之前在循环里continue,break...原创 2021-03-02 22:08:00 · 641 阅读 · 5 评论 -
C/C++还能混合编程?这让我事半功倍
关注、星标公众号,直达精彩内容ID:技术让梦想更伟大作者:李肖遥什么是C/C++混合编程?我们都知道C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过...原创 2020-12-03 21:01:00 · 399 阅读 · 0 评论 -
循环里continue,break,return的作用,你知道吗?
关注、星标公众号,直达精彩内容ID:技术让梦想更伟大作者:李肖遥前言循环里Continue,Break,Return经常会用到,也是很容易出错的一个坑,今天特地花个时间来总结下,在循环里...原创 2020-11-11 08:46:00 · 463 阅读 · 0 评论 -
程序员,来说说你喜不喜欢使用switch/case语句?
关注、星标公众号,直达精彩内容ID:技术让梦想更伟大作者:李肖遥最近犯了个低级错误,请允许我水一篇,涨涨记性!下面这个程序有啥问题?//打印出对应的ivoidtest(inti)...原创 2020-11-05 08:37:59 · 1957 阅读 · 5 评论 -
查找算法问什么?我和面试官进行了深入探讨…
线性查找介绍与实现查找算法从一些数据之中,找到一个特殊的数据,这种实现方法就是查找算法。它与遍历唯一的不同就是它并不一定会将每一个数据都进行访问,有些查找算法如二分查找等,并不需要完全访问所有的数据。在我们的日常生活中,几乎每天都要进行一些查找的工作,比如在网盘的文件夹中查找某个文件,在微信中找到某人的联系方式,在已知次品商品的特征情况下,从一堆商品当中查找出这些次品等等。算法简介顺序查找算法是最简单的查找算法,其线性的从一个端点开始,将所有的数据依次访问,并求得所需要查找到的数据的位置。代码实原创 2020-11-02 10:41:01 · 308 阅读 · 0 评论 -
15张图来了解【树】,面试再也不怕被刷了
树的概念什么是树?树属于非线性数据结构的一种,概念也极多,是由结点或顶点和边组成的且不存在着任何环的一种数据结构。没有结点的树称为空树。一棵非空的树包括一个根结点,还很可能有多个附加结点,并且所有结点构成一个多级分层结构。树的定义n个节点组成的有限集合。n=0,空树;n>0,1个根节点,m个互不相交的有限集,每个子集为根的子树,如图所示为一颗树:树的基本术语节点的度:树中某个节点的子树的个数。树的度:树中各节点的度的最大值。分支节点:度不为零的节点。叶子节点:度为原创 2020-10-24 08:36:36 · 218 阅读 · 0 评论 -
避免这7个误区,才能让【宏】削铁如泥
关注、星标公众号,直达精彩内容ID:技术让梦想更伟大作者:李肖遥语法错误当使用参数调用宏时,会将参数替换为宏主体,并与其他输入文件一起检查结果,以进行更多的宏调用,可以将部分来自宏主体和...原创 2020-10-16 08:14:59 · 285 阅读 · 0 评论 -
【编程之美】函数指针方法实现简单状态机(附代码)
关注、星标公众号,直达精彩内容ID:技术让梦想更伟大作者:李肖遥之前写过一篇状态机的实用文章,很多朋友说有几个地方有点难度不易理解,今天给大家换种简单写法,使用函数指针的方法实现状态机。...原创 2020-10-14 08:13:23 · 1760 阅读 · 5 评论 -
面试常考,项目易错,长文详解C/C++中的字节对齐
关注、星标公众号,直达精彩内容ID:技术让梦想更伟大作者:李肖遥引入主题,看代码我们先来看看以下程序//编译器:https://tool.lu/coderunner///来源:技术让梦...原创 2020-10-10 08:01:00 · 1205 阅读 · 3 评论 -
面试官爱问的10大经典排序算法,20+张图来搞定
关注、星标公众号,直达精彩内容ID:技术让梦想更伟大作者:李肖遥冒泡排序简介冒泡排序是因为越小的元素会经由交换以升序或降序的方式慢慢浮到数列的顶端,就如同碳酸饮料中二氧化碳的气泡最终会上...原创 2020-09-27 21:54:46 · 319 阅读 · 1 评论 -
#if...#endif的用法总结
在写到 pwm音阶程序的时候,在代码中有#if...#endif的用法问题,相关音阶的代码如下: 1 /*******************************************************/ 2 /* pwm音阶程序 */...原创 2013-12-21 19:04:00 · 253 阅读 · 0 评论 -
汇总#pragma用法
这几天忙着去复习了,但是心理总是不踏实,不到实验室里就觉得一天的生活变了个样,现在还是晚上来这里“搞起”吧,白天还是在复习准备考试。因为要开始学习freescale,准备明年的比赛了,觉得是时候开始搞这个了,这几天也看了一下大概的内容,发现程序当中#pragma用的很多,每个程序都有,以前写的代码也有,但是没有总结,现在笔者来总结一下#pragma的用法吧。 C 和C+...原创 2013-12-18 21:38:00 · 194 阅读 · 0 评论 -
C语言main函数有哪些写法呢
main函数是C程序的入口函数,即程序的执行是从main函数开始,对其他函数的调动也是直接或间接地在main函数中被调用。那么main函数又是被谁调用呢?答案是操作系统。C语言发...原创 2019-08-15 17:14:56 · 510 阅读 · 0 评论 -
C++小游戏:扑克牌21点
21点扑克牌游戏:程序说明:该程序是模拟21点扑克牌游戏,玩家最多可以要5张牌,但是如果牌的点数之和超过21点,则自动出局,在不超过21点的情况下,玩家与庄家比牌的大小,大者为赢家程序片...原创 2019-08-18 06:31:26 · 1905 阅读 · 0 评论 -
代码面试之广义表
广义表的基本概念 广义表(Lists,又称列表)是线性表的推广。线性表定义为n>=0个元素a1,a2,a3,…,an的有限序列。线性表的元素仅限于原子项,原子是作为结构上不可分割的成分,它可以是一个数或一个结构,若放松对表元素的这种限制,容许它们具有其自身结构,这样就产生了广义表的概念。 广义表是n (n>=0)个元素a1,a2,a3,…,an的...原创 2015-10-02 17:55:00 · 158 阅读 · 0 评论 -
代码面试之哈希表
哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。 对哈希表的使用者一一人来说,这是一瞬间的事。哈希表运算得非常快,在计算机程序中,如果需要在一秒种内查找上千条记录通常使用哈希表(例如拼写检查器)哈希表的...原创 2015-10-01 17:09:00 · 254 阅读 · 0 评论 -
KMP,深入讲解next数组的求解(转载)
前言 之前对kmp算法虽然了解它的原理,即求出P0···Pi的最大相同前后缀长度k;但是问题在于如何求出这个最大前后缀长度呢?我觉得网上很多帖子都说的不是很清楚,总感觉没有把那层纸戳破,后来翻看算法导论,32章 字符串匹配虽然讲到了对前后缀计算的正确性,但是大量的推理证明不大好理解,没有与程序结合起来讲。今天我在这里讲一讲我的一些理解,希望大家多多指教,如果有不清楚的或...原创 2015-10-01 09:34:00 · 160 阅读 · 0 评论 -
代码面试之串(转载)
串的基本概念 串(或字符串),是由零个或多个字符组成的有穷序列。含零个字符的串称为空串,用Ф表示。 串中所含字符的个数称为该串的长度(或串长)。 当且仅当两个串的长度相等并且各个对应位置上的字符都相同时,这两个串才是相等的。 一个串中任意个连续字符组成的子序列(含空串,但不含串本身)称为该串的子串。例如,“a”、“ab”、“abc”和“abcd”等都是“abcde...原创 2015-10-01 08:40:00 · 274 阅读 · 0 评论 -
数据结构——堆(转载)
堆常用来实现优先队列,在这种队列中,待删除的元素为优先级最高(最低)的那个。在任何时候,任意优先元素都是可以插入到队列中去的,是计算机科学中一类特殊的数据结构的统称 一、堆的定义 最大(最小)堆是一棵每一个节点的键值都不小于(大于)其孩子(如果存在)的键值的树。大顶堆是一棵完全二叉树,同时也是一棵最大树。小顶堆是一棵完全完全二叉树,同时也是一棵最小树。 注意...原创 2015-09-30 20:57:00 · 141 阅读 · 0 评论 -
前缀、中缀、后缀表达式(转载)
关键字:概念, 前缀表达式, 前缀记法, 中缀表达式, 中缀记法, 波兰式, 后缀表达式, 后缀记法, 逆波兰式 它们都是对表达式的记法,因此也被称为前缀记法、中缀记法和后缀记法。它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀同理。举例:(3 + 4) × 5 - 6 就是中缀表达式- × + 3 4 5 6前缀表达式3...原创 2015-09-30 13:49:00 · 194 阅读 · 0 评论 -
代码面试之栈和队列(转载)
1.1栈的定义 栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。如下所示: 结论:后进先出(Last In First Out),简称为LIFO线性表。 栈的基本运算有六种: 构造空栈:InitStack(S)、 判栈空: StackEmpty(S)、 判栈满:...原创 2015-09-30 13:47:00 · 148 阅读 · 0 评论 -
浅谈图(存储结构、遍历)
定义: 图是由顶点集合及顶点间的关系集合组成的一种数据结构。 图的存储结构:1.1 邻接矩阵 图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数...原创 2019-09-05 07:34:31 · 208 阅读 · 0 评论