嵌入式大杂烩
本博客内容会同步至我的微信公众号【嵌入式大杂烩】欢迎关注!关注并回复【1024】送你一份学习资料包!
sizeof你真的弄明白了吗?来看看这个例子 sizeof你真的弄明白了吗?来看看这个例子
sizeof基础在C语言中,sizeof是一个操作符(operator),而不是函数!其用于判断数据类型或者表达式长度(所占的内存字节数)。其有两种表达形式: (1)sizeof(类型说明符) (2)sizeof 表达式 我们通常使用第
2019-10-09
常见的几种AD滤波算法 常见的几种AD滤波算法
在进行AD采样时,常常都会对采样数据进行滤波,以达到更好一点的效果。下面分享几种较简单而常用的滤波算法: 限幅滤波法限幅滤波法又称程序判断滤波法 。该方法根据经验判断,确定两次采样允许的最大偏差值(设为 A)每次检测到新值时判断:如果本次值
2019-10-07
一道简单但易错的C语言面试题 一道简单但易错的C语言面试题
题目:分析以下代码,它的运行结果是? #include <stdio.h> int main(void) { int i = -1; if (i = 0) printf("i = %d\n", i
2019-09-30
易错、经典问题:return不可返回指向栈内存的指针 易错、经典问题:return不可返回指向栈内存的指针
预备知识:内存的分类C/C++程序占用的内存分为两大类:静态存储区与动态存储区。其示意图如下所示: 数据保存在静态存储区与动态存储区的区别就是:静态存储区在编译-链接阶段已经确定了,程序运行过程中不会变化,只有当程序退出的时候,静态存储区
2019-09-06
C语言代码优化的一些经验及小技巧(四) C语言代码优化的一些经验及小技巧(四)
无限循环优先选用for(;;),而不是while(1)在C语言中,最常用的无限循环语句主要有两种:while(1)和for(;;)。从功能上讲, 这两种语句的效果完全一样。那么,我们究竟该选择哪一种呢? 其实,for(;;)语句运行速度要快
2019-08-30
C语言代码优化的一些经验及小技巧(三) C语言代码优化的一些经验及小技巧(三)
循环展开简单的循环可以展开以获取更好的性能,但需要付出代码体积增加的代价。循环展开后,循环计数应该越来越小从而执行更少的代码分支。如果循环迭代次数只有几次,那么可以完全展开循环,以便消除循坏带来的负担。例如: for(i=0; i<3
2019-08-29
C语言代码优化的一些经验及小技巧(二) C语言代码优化的一些经验及小技巧(二)
函数相关1、参数的书写要完整参数的书写要完整,不要贪图省事只写参数的类型而省略参数名字。如果函数没有参数,则用void填充。例如: voidSetValue(intwidth,intheight); // 良好的风格 voidSetValu
2019-08-28
C语言代码优化的一些经验及小技巧(一) C语言代码优化的一些经验及小技巧(一)
一、变量与值得比较1、布尔变量与零值的比较不可将布尔变量直接与 TRUE、 FALSE或者 1、 0进行比较 。据布尔类型的语义,零值为“ 假”(记为 FALSE),任何非零值都是“ 真”(记为TRUE)。 TRUE的值究竟是什么并没有统一
2019-08-27
【C语言笔记】goto语句 【C语言笔记】goto语句
关于C语言的goto语句存在很多争议,很多书籍都建议“谨慎使用,或者根本不用”。这里先不做过多的讨论,存在即合理,既然是C语言中的一个知识点,我们还是有必要学会使用。先看一些goto如何用: 一、goto的基本语法goto语句有两部分:go
2019-08-22
【C语言笔记】assert怎么用? 【C语言笔记】assert怎么用?
一、什么是assert()?编写代码时,我们总是会做出一些假设,断言(assert)就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。 断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真。可以在任何时
2019-08-12
【C语言笔记】联合体 【C语言笔记】联合体
一、什么是联合体?在C语言中,变量的定义是分配存储空间的过程。一般的,每个变量都具有其独有的存储空间,那么可不可以在同一个内存空间中存储不同的数据类型(不是同事存储)呢? 答案是可以的,使用联合体就可以达到这样的目的。联合体也叫共用体,在C
2019-08-01
【C语言笔记】关于数组的一个陷阱! 【C语言笔记】关于数组的一个陷阱!
1、问题 两个数组元素的地址相减得到什么? 先看一段代码: #include <stdio.h> int main(void) { int a[]={0,1,2,3,4,5}; printf("&a[0]
2019-06-03
1 / 5