❤ 2019.11.19
今天学到了一个小知识:
【永远不要在.h文件中定义变量!】
至于原因,简单来说就是,.h文件是用来声明变量的,最好不要用来定义变量,如果在.h中定义了变量,而这个.h文件又被其他的多个.c文件include,那么这个变量就会被定义多次,会占用不同的内存空间,并产生重复定义错误。变量定义应该在.c文件中,.h文件中需要extern一下。
之前在编程序的时候我都把变量定义在.h中了,然后哪里报错extern哪里,没考虑从根源上解决这个问题。
切记!
参考文章链接:不要在.h文件中定义变量
❤ 2019.12.17
今天了解到了什么是【回调函数】。
首先感谢下面文章的作者做了详细的讲解。
从我的理解来说,第一篇文章的计算器的例子很形象,将运算函数以函数指针的形式传递给calc()函数,calc()函数根据不同的用户输入再判断具体调用哪个回调函数。但是这个例子(我感觉)没有说明白使用回调函数的必要性,因为用普通调用函数也可以解决,而第二篇文章很着重的说明了回调函数的必要性,很多时候我们调用的是库函数,而库函数我们并不能随意修改,但是库函数可能只是一个框架,具体的运算过程需要我们自己定义,这时候我们就需要把我们写好的算法以函数指针的形式传递给库函数,然后库函数再根据需求选择执行哪个算法。
over!