总结:
一、【泛型编程】:一般而言函数没有办法进行泛型编程,不能一会输出浮点型,一会输出整型。但是,一些情况下,可以用泛型宏把变量转换成字符串型,打印字符串就行了。
二、【宏替换变量的时候,有两点值得注意】
1、防止宏替换的变量中有a++,造成多次++,因此用新的变量_a和_b来存储 a和b的值,就会避免重复替换导致多次++。(此前,讲宏的时候提到过)
2、因为,a和b类型有可能不一样,因此要分开写;
__typeof(a) _a = (a)
__typeof(b) _b = (b)
三、【全局变量】
如果其他源文件要使用这个变量,就是在头文件中声明一下这个变量,extern 一下,这个就是全局变量了。
变量,未声明也会报错!!也需要声明!!!!!!!!!类似于函数一样。
如何声明变量?————extern
extern_struct FunctionInfo haizei_test_info;
和函数定义一样,别管在哪,我先告诉你有这个东西。
这就是声明一个变量,这个时候变量在哪别管,链接的时候,保证你可以找到这个变量的定义。
四、【浮点型的相等判断】
浮点型无法完全判断等,因此,判断输出正确率的字体颜色的时候,写 rate == 1.0会出错!!
可以这样写:fabs(rate - 100.0) < 1e-6
或者上述:haizei_test_info.success == haizei_test_info.total