这样看数组
数组和指针并不完全等价
指针与数组是相似而非等价
所以char a[6]的外部声明不能写成extern char *a
C语言中的标识符“退化”机制
在与指针参与运算的时候,数组名退化成了数组首地址,函数名退化成了函数入口地址
char a[10]; char *p = (char *) malloc(10);
这两个本质上没有区别,在理解上可以认为"C语言不存在数组“
void fun(char []); void fun(char *);
是等价的
滤波算法与长串拆分
关于数组,应该把它着重于看成一个常用数据结构的载体
中段均值滤波算法,对数据采样的稳定性很有作用
例如触摸屏坐标的采集,会出现一个问题,虽然触摸笔没动,但是读到的坐标并不是稳定的,会在一定范围内浮动。
中段线性均值滤波:读取很多次坐标,把数值放到数组中,排序,取中间的一段做平均,最终得到的结果非常稳定。
此算法还用于加速度采集(倾斜传感器)
长字符串拆分技巧
GPS NMEA协议解析的实现