容易混淆的函数指针和指针函数
时间:2010-10-21 来源:aaron_xueli
函数可以返回整型值、字符型值、实型值,也可以返回指针,即地址。返回地址的函数的一般定义形式:
类型名 *f(int i, int j);
调用该函数后,返回一个指向整型变量的指针。()的优先级要高于*,因此f先与()结合,这表示f是一个函数。函数名前有一个*,表示此函数的返回值类型为指针,下面实例演示了返回指针的函数功能实现。
程序代码如下:
#include <stdio.h> |
2. 函数指针
指向函数的指针是一个指针变量,这个指针比较特殊,它指向一个函数。一个函数的函数名是一个指针,它指向函数的代码。函数的调用可以通过函数来调用也可以通过指向函数的指针来调用。
後向函数的指针其定义的一般形式为:
类型名(*指针变量名) ();
例如: int(*p)(int i, int j);
p是一个指针,它指向的一个函数, 这个函数有两个整型参数,返回类型为int。我们注意到p首先和*结合,表明p是一个指针。然后再与()结合,表明它指向的是一个函数。指向函数的指针也称为函数指针,下面实例实现了指向函数的指针的功能。
程序代码1 如下:
#include <stdio.h> |
程序代码2 如下:
#include <stdio.h> |