98世界杯主题曲_世界杯4强 - dajimy.com

在 C 语言程序中,指针变量也可以指向一个函数。函数在编译时会被分配一个入口地址,该入口地址就称为函数的指针。可以用一个指针变量指向函数,然后通过该指针变量调用此函数。

一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据,即地址。其概念与之前介绍的类似,只是带回的值的类型是指针类型而已。返回指针值的函数简称为指针函数。

定义指针函数的一般形式如下:

类型名 *函数名(参数表列);

例如:

int* fun(int x,int y)

fun 是函数名,调用它以后能得到一个指向整型数据的指针。x 和 y 是函数 fun 的形式参数,这两个参数均为基本整型。函数名前面有一个“*”,表示此函数是指针型函数。类型说明是 int,表示返回的指针指向整型变量。

【实例】求长方形周长。输入长和宽,求长方形的周长,使用返回值为指针的函数解决。代码如下:

#include

int *per(int a, int b);

int Perimeter;

int main()

{

int iWidth, iLength;

int *iResult;

printf("请输入长方形的长:\n");

scanf("%d", &iLength);

printf("请输入长方形的宽:\n");

scanf("%d", &iWidth);

iResult = per(iWidth, iLength); /* 调用函数 per */

printf("长方形的周长是:");

printf("%d\n", *iResult);

return 0;

}

int *per(int a, int b) /* 自定义求周长函数 per,返回值为指针 */

{

int *p;

p = &Perimeter;

Perimeter = (a + b) * 2;

return p; /* 返回指针 */

}

程序运行结果为:

请输入长方形的长:

36

请输入长方形的宽:

30

长方形的周长是:132

注意,实例程序完全可以用更简单的形式来实现,这里只是为了帮助大家更好地理解返回值为指针的函数及其应用。