c语言---函数指针变量

一、函数指针变量的概念

函数指针变量应该是用来存放函数地址的,未来通过地址能够调用函数的。

二、函数指针变量的创建

那么函数是否有地址呢?
接下来看看:

#include <stdio.h>
void test()
{
   
 printf("hehe\n");
}
int main()
{
   
 printf("test: %p\n", test);
 printf("&test: %p\n", &test);
 return 0;
}

运行结果:
在这里插入图片描述
确实打印出来了地址,所以函数是有地址的,函数名就是函数的地址,当然也可以通过 &函数名 的方式获得函数的地址。这两个结果一模一样。
如果我们要将函数的地址存放起来,就得创建函数指针变量咯,函数指针变量的写法其实和数组指针非常类似。如下:

int(*pf3)() = Add;//第一种创建方法(&Add)
int(*pf3)(int, int) = Add;//第二种创建方法
int(*pf3)(int x, int y) = Add;//第三种创建方法

在这里插入图片描述

三、函数指针变量的使用

#include <stdio.h>
int Add(int x, int y)
{
   
	return x + y;
}
int main()
{
   
	int(*pf3)(int x, int y) = Add;
	printf("%d\n", (*pf3)(2, 3));
	printf("%d\n", pf3(3, 5));
	return 0;
}

运行结果:
在这里插入图片描述
在这里插入图片描述
欧耶!!!我学会啦!!!

相关推荐

  1. C语言——函数指针

    2024-02-22 13:44:02       35 阅读
  2. C语言——函数指针

    2024-02-22 13:44:02       22 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-22 13:44:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-22 13:44:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-22 13:44:02       82 阅读
  4. Python语言-面向对象

    2024-02-22 13:44:02       91 阅读

热门阅读

  1. 用c实现diikstra算法

    2024-02-22 13:44:02       52 阅读
  2. 算法提升——LeetCode第385场周赛总结

    2024-02-22 13:44:02       49 阅读
  3. 字符串split切割逻辑

    2024-02-22 13:44:02       46 阅读
  4. H5/CSS 笔试面试考题(91-100)

    2024-02-22 13:44:02       47 阅读
  5. 平台组成-门户服务

    2024-02-22 13:44:02       243 阅读
  6. ADO.NET+Redis 实现缓存

    2024-02-22 13:44:02       43 阅读
  7. C/C++实现药房管理系统

    2024-02-22 13:44:02       37 阅读
  8. 深入URP之Shader篇15: Shader关键字和变体

    2024-02-22 13:44:02       47 阅读
  9. python保存网页为PDF

    2024-02-22 13:44:02       48 阅读
  10. 量化粒度是什么???

    2024-02-22 13:44:02       42 阅读