首先 在led.h中定义
typedef struct
{
void (*plf_test_led) (void);
}
LED_TypeDef;
然后在led.c中定义
LED_TypeDef LED_VOP=
{
test_led
};
然后在led.c中写了一个函数
static void test_led(void)
这是一个静态的函数
然后在main.c中写
LED_VOP.plf_test_led();
然后就调用了上面的那个静态函数,没有问题。
但是完全不明白为什么要这样写函数……
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
那这个函数如何给外部使用呢,只能靠指针传递了。这个和static修饰的全局变量用法一样:无法通过变量名找到该变量,但可以通过指针访问。其他文件还可以命名相同的变量名且不会冲突。
我觉得你的解释有点牵强,若一个人写了一个test_led,这个函数是extern的,另外的一个人也写一个函数,名字重复了,编译器直接报错,这样来的更实在,更何况函数的命名是规则的,一般不会重复。我想一定不是因为还怕重名而这样进行程序设计,一定有别的意义。
抱歉,辜负你信任了。
我c语言都是自学,用到什么学什么,
好在平时只用到 if-else,switch,基本一切搞定。
再次抱歉!
一周热门 更多>