Arduino 函数指针示例
Posted perseverance52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arduino 函数指针示例相关的知识,希望对你有一定的参考价值。
Arduino 函数指针示例
int max1(int a, int b)
{
return (a > b ? a : b);
}
int min1(int a, int b)
{
return (a < b ? a : b);
}
//函数指针
int(*fuc)(int a, int b);
int(*fuc2)(int a, int b);
void setup() {
Serial.begin(115200);
}
void loop() {
int result;
fuc = max1;//通过函数指针间接调用函数
fuc2 = min1;
result = fuc(11,49);Serial.println(result);
result = fuc2(56,17);Serial.println(result);
}
- 输出结果:
11:03:04.725 -> 49
11:03:04.725 -> 17
- 使用 typedef 定义函数指针
当函数指针作为其它函数的参数,特别是作为返回值时,直接使用的函数指针无法编译。
typedef int(*FUC)(int a, int b);
typedef int(FUC2)(int a, int b);
int max1(int a, int b)
{
return (a > b ? a : b);
}
int min1(int a, int b)
{
return (a < b ? a : b);
}
void setup() {
Serial.begin(115200);
}
void loop() {
FUC fuc;//函数指针
FUC2 *fuc2;
int result;
fuc = max1;
fuc2 = min1;
result = fuc(11, 49); Serial.println(result);delay(3000);
result = fuc2(56, 17); Serial.println(result);delay(3000)
}
以上是关于Arduino 函数指针示例的主要内容,如果未能解决你的问题,请参考以下文章