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

目录

一、函数指针变量的概念

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

二、函数指针变量的创建

那么函数是否有地址呢?

接下来看看:

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

运行结果:

确实打印出来了地址,所以函数是有地址的,函数名就是函数的地址,当然也可以通过 &函数名 的方式获得函数的地址。这两个结果一模一样。

如果我们要将函数的地址存放起来,就得创建函数指针变量咯,函数指针变量的写法其实和数组指针非常类似。如下:

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

三、函数指针变量的使用

c 复制代码
#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;
}

运行结果:

欧耶!!!我学会啦!!!

相关推荐
cui_ruicheng2 小时前
Python从入门到实战(八):封装、多态与抽象类
开发语言·python
apihz3 小时前
台风实时与历史详情查询免费 API 接口完整教程
android·开发语言·tcp/ip·dubbo·台风·天气预报
知无不研3 小时前
c语言和c++中的静态关键字
开发语言·c++·静态关键字
bksczm3 小时前
Linux之信号量(POSIX标准)
java·开发语言
吠品3 小时前
PHP里取月份最后一天的几种方式
java·开发语言·eureka
CallmeFoureyes3 小时前
使用 C# 提取 Word 文档中的表格数据
开发语言·c#·word
gugucoding3 小时前
2. 【Java】搭建Java开发环境
java·开发语言
多加点辣也没关系3 小时前
JavaScript|第9章:对象 — 基础
开发语言·javascript·ecmascript
2601_949818094 小时前
Vector从入门到应用(C++ STL动态数组万字全解
开发语言·c++
blueman88884 小时前
qt5-serialbus详细解析
开发语言·网络·qt