微信链接网页网站制作,男女做羞羞事网站,做网站一定需要虚拟主机吗,电商软件平台开发函数指针变量
函数指针变量的作用
函数指针变量是指向函数的指针#xff0c;它可以用来存储函数的地址#xff0c;并且可以通过该指针调用相应的函数。函数指针变量的作用主要有以下几个方面#xff1a; 回调函数#xff1a;函数指针变量可以作为参数传递给其他函数…
函数指针变量
函数指针变量的作用
函数指针变量是指向函数的指针它可以用来存储函数的地址并且可以通过该指针调用相应的函数。函数指针变量的作用主要有以下几个方面 回调函数函数指针变量可以作为参数传递给其他函数从而实现回调函数的功能。当某个条件满足时可以通过函数指针调用相应的回调函数实现特定的功能。 动态选择函数通过函数指针变量可以在运行时根据不同的条件选择不同的函数执行。这样可以提高程序的灵活性和可扩展性。 函数的别名函数指针变量可以作为函数的别名使用可以简化代码提高代码的可读性。 实现函数表通过将多个函数的指针存储在一个数组或者结构体中可以实现函数表。通过索引或者其他方式可以方便地调用相应的函数。 —————————————————————————————————————————— 函数指针变量语法格式
这里和指针数组 ———————————————————————————————————————————
函数指针变量的定义和举例
函数指针是指向函数的指针变量。它可以用来存储函数的地址从而可以通过指针调用函数。函数指针的定义方式如下
返回类型 (*指针变量名)(参数列表);
其中返回值类型是函数的返回值类型指针变量名是函数指针的名称参数列表是函数的参数类型和个数。
下面是一个函数指针的示例
例如我们有一个函数 add它接受两个整数参数并返回它们的和。我们可以声明一个函数指针 p 来指向该函数
int add(int a, int b) {return a b;
}int (*p)(int, int); // 声明一个函数指针变量pp add; // 将函数add的地址赋值给pint result p(3, 4); // 通过函数指针调用add函数在上面的例子中我们声明了一个返回类型为 int参数列表为 (int, int) 的函数指针 p。然后我们将函数 add 的地址赋值给了 p最后通过 p 调用了 add 函数并将结果赋给了 result。函数指针在实际应用中非常有用可以用于实现回调函数、动态加载库中的函数等场景
———————————————————————————————————————————
函数指针变量语法格式的讲解
数组指针-指针-指向数组的-存放的是数组的地址数组名是数组的地址数组名是数组首元素的地址两个地址的值是一样的! 对于首元素的理解不深入的 可以看一下这一篇文章
指针数组和数组指针详细解释-CSDN博客https://blog.csdn.net/Jason_from_China/article/details/136581096
pf专门 用来存放地址 按照函数指针的格式来进行书写就变成函数指针 这里是语法是相互对应的 这里的括号是不能去掉的虽然pf是变量名字但是那个括号是不能去掉的
去掉*pf外面的括号的话
pf就变成了名字不再是代表指针函数数组
而是变成表示一个函数的声明该函数返回一个返回值类型的指针变量。 所以这里的语法格式是不能改变的 所以这样也是可以的 函数指针变量函数名的调用和函数指针调用的对比
函数名调用
拿一个数值进行接收直接传参
函数指针的调用
此时pf的*和可以写也可以不写
并且函数名本身就等于调用的函数类似于重命名
最后打印接收的返回值 ——————————————————————————————————————————————————————————————————————————————————————
补充知识
强制类型转化
作用
C语言中的强制类型转换是一种将一个数据类型转换为另一个数据类型的操作。它可以通过显式地指定要转换的数据类型来实现。强制类型转换可以用于以下几种情况 改变变量的数据类型当需要将一个变量的数据类型从一种类型转换为另一种类型时可以使用强制类型转换。例如将一个整数转换为浮点数或者将一个字符转换为整数。 提升数据类型当进行表达式计算时如果参与计算的操作数具有不同的数据类型C语言会自动进行隐式类型转换将较低精度的操作数提升为较高精度的操作数。但是有时候我们需要手动进行提升以确保计算结果的准确性。 缩小数据类型有时候我们需要将一个较高精度的数据类型转换为较低精度的数据类型这时候就需要使用强制类型转换。需要注意的是缩小数据类型可能会导致数据丢失或溢出因此需要谨慎使用。
强制类型转换的语法如下
(目标类型) 表达式
其中目标类型是要转换成的数据类型表达式是要进行转换的值或变量。
需要注意的是强制类型转换可能会导致数据的精度丢失或溢出因此在使用时需要谨慎考虑。此外过度使用强制类型转换可能会导致代码可读性降低建议在必要的情况下使用。 举例
C语言中的强制类型转换是一种将一个数据类型转换为另一个数据类型的操作。它可以通过使用强制类型转换运算符来实现即将要转换的数据类型放在要转换的值或表达式前面用括号括起来。
例如将一个整数类型转换为浮点类型可以使用强制类型转换。下面是一个示例int num 10; float result (float)num;在上面的示例中我们将整数类型的变量num强制转换为浮点类型并将结果赋给浮点类型的变量result。
需要注意的是强制类型转换可能会导致数据丢失或精度损失。因此在进行强制类型转换时需要谨慎考虑数据类型之间的兼容性和可能的副作用。
具体举例 函数的返回类型 强制类型转化的语法 ——————————————————————————————————————————————————————————————————————————————————————
typedef
typedef类型重命名 这里一笔带过 在指针2里面讲的很清楚结构体和结构体的重命名
结构体详解-CSDN博客https://blog.csdn.net/Jason_from_China/article/details/136477956指针篇章-2-CSDN博客https://blog.csdn.net/Jason_from_China/article/details/136408404