Linux C
文章平均质量分 70
炒番茄蛋的厨子
这个作者很懒,什么都没留下…
展开
-
一级指针、一维数组、一级指针和一维数组的关系
在C语言学习过程中,指针是很多人十分头疼的内容,但是在开发过程中指针的使用也是比较频繁的,指针也是C语言学习的精髓….一级指针:用于存储地址的空间变量(简而言之,指针就是地址)指针的定义: int *p = NULL ; 指针类型 *指针变量名 = NULL; /...原创 2022-12-10 14:04:27 · 623 阅读 · 0 评论 -
几种经典常用的滤波算法
1、限幅滤波法(又称程序判断滤波法)A、方法: 根据经验判断,确定两次采样允许的最大偏差值(设为 A) 每次检测到新值时判断: 如果本次值与上次值之差 <=A, 则本次值有效 如果本次值与上次值之差 > A, 则本次值无效, 放弃本次值, 用上次值代替本次值B、优点: 能有效克服因偶然因素引起的脉冲干扰C、缺点 无法抑制那种周期性的干扰 平滑度差2、中位值滤波法A、方法: 连续采样 N 次(N 取奇数) 把 N原创 2021-03-24 17:22:37 · 6023 阅读 · 3 评论 -
详解二分查找算法
我周围的人几乎都认为二分查找很简单,但事实真的如此吗?二分查找真的很简单吗?并不简单。看看 Knuth 大佬(发明 KMP 算法的那位)怎么说的:Although the basic idea of binary search is comparatively straightforward, the details can be surprisingly tricky…这句话可以这样理解:思路很简单,细节是魔鬼。本文就来探究几个最常用的二分查找场景:寻找一个数、寻找左侧边界、寻找右侧边界。而且,我转载 2021-03-06 22:21:30 · 114 阅读 · 0 评论 -
二维数组(结构体数组里嵌套结构体数组)
我们聊过了函数、指针、数组混搭结果:指针数组 数组指针 指针函数 函数指针 函数指针数组。本文主要讲述在工程中我们常用的结构体数组,主要应用场景,IF初始化等集成度比较的复用函数接口。原创 2020-08-26 20:21:58 · 5394 阅读 · 1 评论 -
typedef笔记
区分(小技巧:重点在后面)函数指针:指向函数的指针eg:void *PFUNC(void);指针函数:返回值是指针的函数eg:void(*PFUNC)(void);Typedef定义含义:定义一个指向函数的变量eg:typdef void(*PFUNC)(void);...原创 2020-07-06 11:56:33 · 162 阅读 · 0 评论 -
面试题: int *p[4]和int (*q)[4]的区别?
#include<stdio.h>void main() {/*int *p[4] :是一个长度为4的指针数组,该数组的元素为int*重点:它是一个数组,指针数组大小:sizeof(p) => 4*4 = 16字节用法:*(p[0])*/ int *p1, *p2, *p3, *p4; int *p[4]; p[0] = p1; p[1] = p2; p[2] = p3; p[3] = p4;/*int (*q)[4]转载 2020-07-04 17:20:35 · 629 阅读 · 0 评论 -
中断源、中断向量、矢量中断、中断向量表
问:What is interrupt?百度百科:中断是指在计算机执行程序的过程中,当出现异常情况或者特殊请求时,计算机停止现行的程序的运行,转而对这些异常处理或者特殊请求的处理,处理结束后再返回到现行程序的中断处,继续执行原程序。中断向量:中断服务程序的入口地址。在某些计算机中,中断向量的位置存放一条跳转到中断服务程序入口地址的跳转指令。中断向量地址:内存中存放中断服务程序入口地址的地址...原创 2020-06-29 13:40:58 · 5074 阅读 · 0 评论 -
C语言预定义宏
__FILE__,__LINE__,__func__这样的宏,在调试程序时是很有用的,因为你可以很容易的知道程序运行到了哪个文件的那一行,是哪个函数。转载 2020-06-23 18:40:44 · 316 阅读 · 0 评论 -
宏定义中为什么使用do {...} while (0)
#define IF_CLS_CTRL_RX_BUSY(m) do {(m) &= ~IF_CTRL_RX_BUSY;} while (0)在工程代码的代码中,我们经常会遇到 do{ } while(0)这种样式的宏定义,这句代码编译后的效果如下,为了更好的理解,eg:#define IF_CLS_CTRL_RX_BUSY(m) do {(m) &= ...转载 2020-06-23 08:50:21 · 190 阅读 · 0 评论 -
8位、16位转换
#define STRING_LANGUAGE_ID 0x0409#define HBYTE(x) ((u8)(((u16)(x) >> 8) & 0xff))#define LBYTE(x) ((u8)(x))LBYTE(STRING_LANGUAGE_ID), // 语言IDHBYTE(STRING_LANGUAGE_ID)// 语言ID#defi...原创 2020-06-23 08:45:52 · 2405 阅读 · 0 评论 -
数据类型取值表速查
数据类型数据类型符占用字节数数值范围字符型char1-128~127整型int2(或4)同短整型(或长整型)短整型short2-32768~32767长整型long4-2的31次方~2的31次方-1无符号整型unsigned [int]2(或4)同无符号短整型(长整型)无符号短整型unsigned short2...原创 2020-04-28 20:34:19 · 270 阅读 · 0 评论 -
面试题:算出一串数字 ‘10000011000’ 的 0的最大长度
思路:1.外循环编译字符串2.内循环判断每一元素,如果该元素是0,则统计当前连续的0的长度3.与最大长度进行比较,如果当前连续0的长度比max大,则将当前长度赋值给max,同时保存该段连续的0的首地址#include <stdio.h>int main(void){ char str[]="10000011000"; int i=0,len=0,max_size...原创 2019-03-14 01:17:27 · 171 阅读 · 0 评论 -
函数、指针、数组(1) (面试题)
函数、指针、数组尝试用变量a写出下面的定义(1)一个整型数 int a;(2)一个指向整型数的指针int *a;(3)一个指向指针的指针,它指向的指针是指向一个整型数int **a;(4)一个有10个整型数的数组int a[10];(5)一个有10个指针的数组,该指针是指向一个整型数的int *a[10];(6)一个指针有10个整型数数组的指针int (*a)[10];...原创 2019-08-06 17:07:01 · 161 阅读 · 0 评论 -
函数、指针、数组(2)
函数、指针、数组尝试用变量a写出下面的定义(1)一个整型数 int a;(2)一个指向整型数的指针int *a;(3)一个指向指针的指针,它指向的指针是指向一个整型数int **a;(4)一个有10个整型数的数组int a[10];(5)一个有10个指针的数组,该指针是指向一个整型数的int *a[10];(6)一个指针有10个整型数数组的指针int (*a)[10];...原创 2019-08-06 17:06:30 · 150 阅读 · 0 评论