如何将函数指针和函数指针数组转换为一个超长尾词的?

2026-04-12 06:011阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计518个文字,预计阅读时间需要3分钟。

如何将函数指针和函数指针数组转换为一个超长尾词的?

1. 函数指针+函数指针:指向函数的指针+通过函数指针调用函数

1.函数指针

函数指针:指向函数的指针

可通过函数指针调用函数

#include <stdio.h> //函数指针 //函数名和&函数名都可表示函数的地址,可通过函数指针调用函数 int Add(int x, int y) { return x + y; } int main() { int (*pf)(int, int) = &Add;//也可写为Add int a = Add(8, 4); int b = (&Add)(8, 4);//Add和&需要加括号,否则Add先和后面的括号结合 int c = (*pf)(8, 4); int d = pf(8, 4); printf("%d\n", a); printf("%d\n", b); printf("%d\n", c); printf("%d\n", d); }

运行结果:

调用结果相同


2.函数指针数组

函数指针数组:存放函数指针的数组(转移表)

如 int(*arr[4])(int,int) ;//*arr[4]是指针数组的类型,外侧为数组元素(存放的元素即函数指针)的类型

以下为利用函数指针数组写的简易计算器

#include <stdio.h> /*简易计算器*/ int Add(int x, int y) { return x + y; } int Sub(int x, int y) { return x - y; } int Mul(int x, int y) { return x * y; } int Div(int x, int y) { return x / y; } int main() { int (*arr[4])(int, int) = { Add,Sub,Mul,Div };//函数指针数组,元素为函数指针,Add是函数名,可表示函数的地址,此处可将Add改为&Add int i = 0; for (i = 0; i < 4;i++) { int ret = arr[i](8, 4);//分别计算8对4的加减乘除 printf("%d\n", ret); } }

运行结果:

3.指向函数指针数组的指针(了解,知道即可)

int (*arr[4])(int, int) = { Add,Sub,Mul,Div };// int (*(*ppfarr)[5](int,int)=&arr;//*ppfarr是指针,指向数组,而指向数组则是存放函数指针的数组



如何将函数指针和函数指针数组转换为一个超长尾词的?

以上就是函数指针和函数指针数组的定义,欢迎指正交流~

标签:可通过

本文共计518个文字,预计阅读时间需要3分钟。

如何将函数指针和函数指针数组转换为一个超长尾词的?

1. 函数指针+函数指针:指向函数的指针+通过函数指针调用函数

1.函数指针

函数指针:指向函数的指针

可通过函数指针调用函数

#include <stdio.h> //函数指针 //函数名和&函数名都可表示函数的地址,可通过函数指针调用函数 int Add(int x, int y) { return x + y; } int main() { int (*pf)(int, int) = &Add;//也可写为Add int a = Add(8, 4); int b = (&Add)(8, 4);//Add和&需要加括号,否则Add先和后面的括号结合 int c = (*pf)(8, 4); int d = pf(8, 4); printf("%d\n", a); printf("%d\n", b); printf("%d\n", c); printf("%d\n", d); }

运行结果:

调用结果相同


2.函数指针数组

函数指针数组:存放函数指针的数组(转移表)

如 int(*arr[4])(int,int) ;//*arr[4]是指针数组的类型,外侧为数组元素(存放的元素即函数指针)的类型

以下为利用函数指针数组写的简易计算器

#include <stdio.h> /*简易计算器*/ int Add(int x, int y) { return x + y; } int Sub(int x, int y) { return x - y; } int Mul(int x, int y) { return x * y; } int Div(int x, int y) { return x / y; } int main() { int (*arr[4])(int, int) = { Add,Sub,Mul,Div };//函数指针数组,元素为函数指针,Add是函数名,可表示函数的地址,此处可将Add改为&Add int i = 0; for (i = 0; i < 4;i++) { int ret = arr[i](8, 4);//分别计算8对4的加减乘除 printf("%d\n", ret); } }

运行结果:

3.指向函数指针数组的指针(了解,知道即可)

int (*arr[4])(int, int) = { Add,Sub,Mul,Div };// int (*(*ppfarr)[5](int,int)=&arr;//*ppfarr是指针,指向数组,而指向数组则是存放函数指针的数组



如何将函数指针和函数指针数组转换为一个超长尾词的?

以上就是函数指针和函数指针数组的定义,欢迎指正交流~

标签:可通过