
C语言
文章平均质量分 52
学益得智能硬件
嵌入式、C/C++课程、项目实战
展开
-
如何调试段错误?
gdb原创 2023-02-12 20:58:22 · 850 阅读 · 0 评论 -
C语言最鸡肋的关键字
关键字auto原创 2023-02-04 10:50:56 · 3022 阅读 · 0 评论 -
json-c错误:undefined reference to `json_object_object_get_ex‘
json-c错误解释原创 2022-09-27 19:30:56 · 1875 阅读 · 0 评论 -
C语言实现两数相加的三种方法 | 不使用加减乘除求两数和
笔试题里面看到的,总结一下,分享给需要的小伙伴。一、原始办法这种方法最直观明了。int add(int x, int y){ return x + y;}二、利用printf的返回值这个操作鲜为人知。#include <stdio.h>int add(int a, int b){ if(a != 0 && b != 0) return printf("%*c%*c",a,'\r',b,'\r'); else return原创 2021-07-17 15:55:01 · 14445 阅读 · 0 评论 -
关于C语言标准缓冲区的总结
作者 | 学益得智能硬件一、获取多个数据1、获取字符串和字符#include <stdio.h>int main(){ char s1[32] = {0}; char ch; scanf("%s %c", s1, &ch); printf("%s\n", s1); printf("%c\n", ch); return 0;}运行:root@turbo:~# ./test hello chellocr.原创 2020-12-12 14:49:34 · 551 阅读 · 0 评论 -
C++ Stack实现四则运算
calculator.cpp#include <iostream>#include <stack>using namespace std;int Priority(char ch){ switch(ch) { case '(': return 3; case '*': case '/': return 2; case '+':...原创 2020-03-07 11:04:01 · 923 阅读 · 0 评论 -
C语言使用json-c发送网络数据
之前做项目的时候,在嵌入式端侧用到了json数据格式,主要负责和服务器通信使用。json-c网上的资料很少,所以下面总结一些,再附上一些代码,供大家参考使用。json-c安装:apt-get install libjson0-dev libjson0-dev软件包里面有json-c的头文件以及开发需要的库文件。头文件放在了/usr/include/json/json.h目录下,写代码的时候...原创 2020-03-03 12:24:16 · 5204 阅读 · 2 评论 -
如何区分优质程序猿?递归的修炼之路!
递归是程序运行时的一种现象,也是解决某些特定问题时较迭代算法来说更自然更优雅的代码组织方式。作为程序员工作了多年后,我发现除了用发量来区分一名程序猿是否优秀以外,能不能理解好递归、能不能用递归来解决问题也是区分好程序员和差程序员的试金石。很多同学通过学习掌握了某些语言的语法,也能写一些代码,但是一遇递归就头大。下面就来给大家总结总结。谈到递归,我们的C语言老师可能会说递归就是「函数自己调用自己」...原创 2020-03-02 15:08:16 · 443 阅读 · 0 评论 -
如何用栈实现深度优先算法-C语言解决迷宫问题
数据结构一直都是专业课里面比较难的一门课程,因为里面涉及到了很多算法知识。这也给大家造成了一个困扰,是不是智商不行就学不了数据结构?显然不是!算法知识确实很难,但是我们在学习的过程中很少会去开发新的算法,基本上都是在别人的成果上加以探索。其实只要是愿意花时间,善于归纳总结,我们还是能发现很多算法的规律。看的多了,就很容易在解决实际问题的时候联想到对应的算法。直奔主题吧。栈结构我们在之前的课堂上...原创 2020-03-01 20:24:03 · 2973 阅读 · 3 评论 -
如何用队列实现广度优先算法-C语言解决迷宫问题
广度优先搜索算法(也称宽度优先搜索,缩写BFS)是图里面常用的一种遍历算法。这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和广度优先搜索类似的思想。广度优先算法属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。基本过程,BFS是从根节点开始,沿着树(图...原创 2020-03-01 20:12:25 · 4731 阅读 · 0 评论 -
让段错误不再是一个错误
今天的主题是:访问了空指针一定会出现段错误(segmentation fault)吗?看下面代码:test.c#include <stdio.h>int main(){ int *p = NULL; *p = 1; return 0;}在Linux里面写了这么多代码,大家应该很清楚,上面的代码会出现段错误,因为访问了空指针。#gcc te...原创 2020-03-01 18:04:22 · 777 阅读 · 0 评论 -
【LeetCode大厂笔试题】之变态指针!
很多同学在学完指针后,弄懂了「*」和「&」的含义,又写了几个字符串相关的编程题,再刷几道指针笔试题,感觉指针精通了。其实C语言中的指针真是博大精深,他的复杂程度绝对超过你的想象。比如前两天一个同学来问我的问题,先看下代码:#include <stdio.h>int main(){ const char *ptr[] = {"Welcome", "to", "B...原创 2020-02-29 18:51:28 · 3115 阅读 · 0 评论 -
常用C库函数的实现
手撕代码一向是笔试面试必不可少的环节算法、C库、操作系统…实现C语言库函数我们在课上也经常会给大家写,但是都不够全面。所以今天就给大家总结了一下。常见C库函数的实现代码奉上01memcpy函数原型void *memcpy(void *dest, const void *src, size_t n);返回值返回指向dest的指针。void *memcpy(void *de...原创 2020-02-21 11:33:24 · 881 阅读 · 0 评论 -
那些年面试官搞的“骚”操作!! 用一篇文章彻底搞懂自增自减
自增运算符在笔试的时候出现的概率很高,这种题目也很恶心,分析起来很废脑细胞,而且一旦有一步分析错误,结果就不对了。下面给大家总结一些常见的题目,基本上覆盖了所有和单目运算符相关的题型。做题目之前,先要弄懂前置和后置的区别,也许题目会很复杂,但基本原则是不会变的。a++:执行a所在语句之后,a的值加1;++a:执行a所在语句之前,a的值加1。先来看一道入门题#include <st...原创 2020-02-12 21:47:26 · 737 阅读 · 0 评论