内存泄漏检测工具Sanitizer介绍
内存泄漏,我们经常会遇到,如何检测内存泄漏,除了我们之前讲过的 valgrind,还可以使用 gcc....
STM32和ESP32应该学哪个
STM32 和 ESP32,哪个更适合我们学习? 这两个虽然都是单片机,但是各自的应用领域不一样,不....
深入探索GCC的attribute属性
如果经常看Linux源码,一定会见过 attribute 属性,他在 Linux 里面出现的很多。 ....
15行代码引发1800多行编译错误:问题排查挑战
写了 15 行代码,编译报错竟然高达 1800 多行,这种奔溃的瞬间应该有很多同学遇到过。 代码分为....
分析C语言代码结构的设计问题
来分析一个C语言代码结构的设计问题。 这段代码,使用了两次malloc,分别给 p1 和 p2 申请....
在Linux下安装软件有哪些方法
在Linux下安装软件,可以有哪些方法? 首先是最简单的,使用软件包管理工具。 如果是ubuntu或....
利用栈结构实现四则运算的巧妙方法
上个视频写了个简易计算器,算个简单的加减乘除还行,但是如果来个混合运算,或者加个括号,这几行代码就差....
指针被释放后就变成了空指针吗
指针被释放后,是不是就变成了空指针?有好多同学提出了这样的问题。 借用《C专家编程》上面的一段代码,....
C语言如何处理函数的返回值
当你在函数的最后写上 return 0 的时候,它是如何返回给调用函数的? 比如 test 函数,为....
const定义的是不是常量
C语言是如何定义常量的?const定义的算不算是常量? 常见的有这么几种方式。 首先就是宏定义,使用....
不停的malloc程序会异常吗
把 malloc 放在死循环里面,会是什么样的现象? 比如这样的代码,每次使用 malloc 申请 ....
如何把两个数据返回给调用函数
函数的处理结果包含两个数据,如何把两个数据返回给调用函数? 第一种,把两个数据封装成一个结构体,函数....
stdio.h实现了printf函数?
我们平时包含的 stdio.h 头文件,里面是不是实现了 printf 函数? 为什么会有这个疑问?....
养成良好的编程习惯|堆内存初值不一定是0
什么是良好的编程习惯?可以看下这段代码,有没有什么问题? #include #include i....
同样是函数,在C和C++中有什么区别
同样是函数,在 C 和 C++ 中有什么区别? 第一个返回值。 C语言的函数可以不写返回值类型,编译....
四种方法教你判断设备的字节序
如何判断设备的字节序,提供 4 种方法给大家参考。 首先就是从概念入手。 所谓小端字节序,高字节存放....
C语言中申请的堆内存能不能自动释放
C语言中申请的堆内存能不能自动释放?每次都要手动 free 太麻烦,也容易忘记。 学过 C++ 的同....
C语言中的头文件能不能重复包含
C语言中的头文件能不能重复包含? 比如代码写成这样,stdio.h 连续包含了两次。 #includ....
结构体成员的顺序会影响结构体的大小吗
相同的结构体成员,如果把顺序调整一下,会不会影响结构体的大小? 答案是会的,这主要跟字节对齐有关。 ....
指针数组和二维数组有没有区别
指针数组和二维数组有没有区别?比如这样的两个代码。 int main(){ char *s1[] =....
C语言关键字分别发生在哪个阶段
以下C语言关键字,分别发生在哪个阶段? 第一个,define。 首先得纠正一下,define 并不是....
如何判断Linux系统的位数
给你一个 Linux 系统,如何判断它的位数? 我经常用的,有这么几种方式。 第一个,使用命令: u....
