C++中的函数指针和指针函数
C++中的函数指针和指针函数
数组名一般可以被当成指向数组第一个元素的常量指针,同样的情况,在函数中,函数名可以本当成指向函数的常量指针,假如一个函数已经定义,那么它在计算机中一定有特定的内存空间,那么指向这块空间的指针就被称为函数指针。下面是一个函数指针的声明方法:
int(*p)func(&a,&b);
这句代码表示声明了一个指向int型指针,它指向func函数,同时该函数带有两个参数。这里需要注意的是,函数指针指向的函数必须有返回值,否则它将指向一个空地址,这是指针使用时候所不允许的情况。
再看下面这句代码:
int *p func(&a,&b);
这句代码表示声明了一个返回值为指针的函数。
注意这两者之间的区别,仅仅是一个括号的差别。