函数指针是指向函数的指针变量。 因此“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。
函数指针的声明方法为:
返回值类型 ( * 指针变量名) ([形参列表]);
void (*pfun)();
函数指针主要有两个用途:调用函数和做函数的参数.
调用函数
函数的参数
相关文章:
- 什么是指针
- 指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。指针变量声明的一般形式为:...
- 指针的指针、指针数组
- 字面下理解说是一个指针指向另一个指针。实际上指针也是一个变量,所以是可以有另一外一个指针再来指向这个变量,这样就有了指针的指针。如下:...
- 引用 安全的指针
- 引用就是为变量引入一个别名,都是指像同一个变量. 可以将int&当一个整体看,会比较好理解。...
- 数组与指针间的关系
- 数组在内存中就指一段连续的内存,但C++提供了一种快捷表示,定义数组名可以等价于该数组的首地址。 int a[5] = {0}; 定义整型数组,获取首地址可以有两个写法了,取址符:&a[0], 数组名: a 指针就是指向某个数据的地址,当然也可以指向数组的首地址,...
- 指针的指针做输入参数代替二维数组
- 指针的指针做输入参数代替二维数组? 有时在写程序是会碰到定义函数输入参数要一个二维数组,但并不能确定数组内的元素个数时,这种情况可以用指针的指针做输入参数解决问题。 因为不用指针的指针,二维数组做对也只能有一维定义时不给出元素个数 (int a[][3])。 指针的指针做输入参数好处就是,不用在定义时就要知道组内元素个数,可以在调用时输入,这们定义的函数更通用。...
- 用指针求数组中间位置
- 两个指针一个指向数组的头部,另一个指向数组的尾部。求数组中间位置? 这个用指针的算术运算就可以完成,用尾部指针减去头部指针,再除以2就可以。不过有一点要注意数组要是奇数才有中间位置,例如:1 2 3 4 5 6 7 中间是4。 判断奇数可以用求余 %方式...
- 为什么指针要定义类型
- 为什么指会要定义类型?这个问题是一个值得思考的问题。我们在写c/c++程式的时候都知道,定义每个变量都要告诉编译器类型,这种就是强类型语言。比如...
- 地址与内存关系
- 计算机的内存看作是一排很长很长的房子,每个房子都可以放数据,通过一个房号来标识。这个比喻颇为有用,也存在局阻性。计算机的内存由数以亿万计的位(bit)组成,每个位可以容纳值0或1.由于一个位所能表示的值的范出太有限,所单独的位用处不大,通常许多位合成一组作为一个单位(比如最小8位,char类型),这样就可以存储范围较大的值。画个图来描述机器中的内存位置。...
- 剑走偏锋修改类私有成员方法
- 大家在学习C++语言的时候,讲到类的访问权限问题时,对私有的private部份访问,书上写的都是只能是类内成员可以访问,也就是成员函数可以访问。类外部是不可以访问到,也修改不了值的。 今天跟大家讲一下比较锋茫的方法,在类外用指针来实现修改类内私有pravite成员。(指针是一把双刃 剑,一定要完全理解,不然会伤到自己)。学习以下内容还有预备知识,如果知道类在内存中存放,可以不用看,不明白的可以先看这篇:类中成员定义顺序在内存中排列 ...
- auto_ptr智能指针使用与局限性
- auto_ptr就是智能指针,它其实是一个类类型,定义库中,具体定义可以看这篇:auto_ptr智能指针头文件下面写段使用auto_ptr智能指针的代码,让大家更容易理解auto_ptr如何使用。 1.两个auto_prt指针不能指向同一个内存: 2.不要将auto_prt对象作为STL容器的元素,C++标准明确禁止这样做。 3.不能将数组作为auto_ptr的参数...