静态函数函数调用

2019-07-20 22:43发布

首先  在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();

然后就调用了上面的那个静态函数,没有问题。
但是完全不明白为什么要这样写函数……

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
15条回答
ianhom
2019-07-21 03:15
我的理解是,用static修饰的函数仅本文件可见,即其他函数调用test_led()也不会调用到你static修饰的这个函数。
那这个函数如何给外部使用呢,只能靠指针传递了。这个和static修饰的全局变量用法一样:无法通过变量名找到该变量,但可以通过指针访问。其他文件还可以命名相同的变量名且不会冲突。

一周热门 更多>