1、函数的运行
#include <avr/io.h>
void fun1(void)
{
unsigned char i=0;
while(1)
{
PORTB=i++;
PORTC=0x01<<(i%8);
}
}
int main(void)
{
fun1();
}
首先,提出一个问题:如果要调用一个函数,真是只能以上面的方式进行吗?
No!我们还有一种方式,就是“用函数指针变量调用函数”
例子:用函数指针变量调用函数
#include <avr/io.h>
void fun1(void)
{
unsigned char i=0;
while(1)
{
PORTB=i++;
PORTC=0x01<<(i%8);
}
}
void (*pfun)(); //指向函数的指针
int main(void)
{
pfun=fun1; //指向函数
(*pfun)(); //运行指针所指向的函数
}
第二种,是“把指向函数的指针变量作函数参数”
#include <avr/io.h>

文章介绍了函数指针的使用,包括直接调用和作为参数传递,然后详细解释了回调函数的概念,强调了回调函数是通过函数指针调用,并讨论了回调函数在解耦代码中的重要性。回调函数允许在不修改库函数的情况下实现功能的灵活性,提高了代码的可扩展性和团队协作效率。
最低0.47元/天 解锁文章
3452

被折叠的 条评论
为什么被折叠?



