函数指针和指针函数的区别

  • 指向函数代码首地址的指针变量称为函数指针

函数指针定义:函数类型(*指针变量名)(形参列表)

函数类型——表明函数的返回类型,由于"()"的优先级高于"*",所以指针变量名外的括号必不可少;

形参列表——表示指针变量指向的函数所带的参数列表;


例如:

int (*f)(int x);

在定义函数指针时请注意:函数指针和它指向的函数的参数个数和类型都应该是—致的

int func(int x); /* 声明一个函数 */
int (*f) (int x); /* 声明一个函数指针 */
f = func; /* 将func函数的首地址赋给指针f */
  • 返回指针的函数——指针函数

函数不仅可以返回整型数据的值,字符类型值,还可以返回指针类型的数据,使其指向某个地址单元。一般定义格式为:

类型标识符 *函数名(参数表)

int *f(x, y);

其中x,y是形式参数,f是函数名,调用后返回一个指向整型数据的地址指针。f(x,y)是函数,其值是指针。

你可能感兴趣的:(C&C++)