指针在液晶屏显示中的用法(三)

本文纯属虚构,如有雷同,爱咋咋地。

自从上次受到保洁阿姨点拨,张三不仅爱上了爬楼,还爱上了洗头。不知不觉中,成为了研发部最靓的仔。前台小妹会多看他一眼,而食堂大妈在给他盛菜的时候,手也不抖了。

这天上午,张三在debug,保洁阿姨过来打扫卫生了,张三连忙起身打招呼。

张三:阿姨好!

阿姨:嗯,水杯挪一下。

张三:我现在爱上洗头了!每次洗完头都感觉思路清晰!

阿姨:嗯,抬下脚。

张三:您让我勤洗头,是不是因为洗头对编程有帮助?洗完头大脑很放松~

阿姨:…不是…你头皮屑太多了,勤洗头,我工作量少点。不然每次给你擦桌子都要擦半天。

张三:额,好的。

阿姨:最近忙什么呢?

张三:哦哦,之前的设备升级了一下,加了个串口,可以通过电脑直接修改屏幕上的参数。但是参数送进来不能直接用,要转换一下。我现在是用带返回值的函数处理的,例如:

canshu1 = value_process(canshu1_uart);

canshu1_uart是串口送进来的数据,经过函数处理,生成可以用的值,给canshu1。这个方法简单是简单,但是一次只能处理一个数据,还是有点慢~~~

阿姨:马马虎虎吧!

张三:阿姨,您有什么好的方法吗?

阿姨:指针呀,你之前都是正着用,反着用不就行了。

张三:反着用?

阿姨:是啊,之前你都是定义一个指针,然后通过这个指针从固定的地址取值。现在你只要反过来,把用来存储的变量确定下来,然后把变量的地址做为参数送入函数处理,这样多省事。

上面的函数可以改成这样:

value_process(u8 *canshu01, u8 *canshu02…..)

{

    /* canshu1_uart 处理*/

    * canshu01 = …;

    /* canshu2_uart 处理*/

    * canshu02= …;

}

调用的时候这样用:

value_process(&canshu1, &canshu2…..)

这样的话,没有返回值,一次处理多少个参数都可以。多好看~

张三:…

阿姨:我还以为你会用指针了,原来还是不会~

张三:…….

QQ截图20190505201417

一周后,张三在爬楼时再次偶遇保洁阿姨。

张三:阿姨好!我想向您请教几个问题。

阿姨:说!

张三:指针的概念学校里倒是讲过,但是用的不多。后来实习的时候遇到问题网上搜索,很多人也说指针的功能很强大,但是新人尽量少用,因为不好理解,容易出问题。为什么您理解的这么透彻?

还有您上次举得那个例子,我想了想,特别贴切。比我老师说的都清晰,您是怎么想到的?额,阿姨,您走错了,咱们公司不在这一层。

阿姨:你的话有点多。另外,没走错,我是来收租的。

张三:收…..租…..?

阿姨:废话,租房子不要钱吗?像这一层的公司,刚来半年,公司名字我还没记住,只能通过门牌号,也就是地址来记住他们,这就是地址取值;像你们公司名字就好记啦,能力有限~~,上个月刚交的租金,这就是通过变量来取值啦。多简单!

你们这些程序员啊,整天说自己是高级工种、高级工种!!!高级在哪呢………..身板弱的跟小鸡仔一样,脑子又不灵光……………还没对象!没事多感受下生活,天天加班,脑子都木了。

张三:谢谢阿姨,我懂了!

说罢掏出手机,找到前台小妹的微信:今晚有空吗?要不要看复联4?

本系列完!

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据