首页 > 编程知识 正文

指向函数的指针变量,函数指针作为形参

时间:2023-05-03 08:47:04 阅读:107529 作者:44

c语言函数指针变量

导言: C语言规定函数总是占用连续的内存空间,函数名是该函数占用的内存空间的起始地址。 这就是函数指针变量。 我介绍一下仅供参考。

C语言规定函数总是占用连续的内存空间,函数名是该函数占用的内存空间的起始地址。 您可以将函数的第一个地址或条目地址指定给指针变量,以便指针变量指向该函数。 然后可以在指针变量中找到并调用这个函数。 指向此类函数的指针变量称为“函数指针变量”。

函数指针变量定义的一般格式如下。

类型说明符(*指针变量名) );

这里,"类型说明符"表示被指函数返回值的"类型"。 “*指针变量名称”表示“*”后面的变量是定义的指针变量。 最后一个括号表示指针变量指向函数。

例如int(*pf ) );

指示pf是指向函数入口的指针变量,该函数的返回值(函数值)是整数。

以指针格式实现函数调用的方法为例进行说明。

intmax(inta,int b ) {

if(ab )返回a;

else return b;

}

主()。

intmax(inta,int b );

int(*pmax ) );

int x、y、z;

pmax=max;

打印(inputtwonumbers :/n );

scanf('%d%d )、x和y );

z=(*pmax () x,y );

printf(maxmum=%d ),z );

}

从以上程序可以看出,以函数指针变量的形式调用函数的步骤如下。

1 .首先定义函数指针变量,如后面程序的第9行int(*pmax ) ); 将pmax定义为函数指针变量。

2 .将被调制函数的入口地址(函数名称)赋予该函数指针变量,如程序中第11行的pmax=max

3 .以函数指针变量形式调用函数的调用函数的典型形式,如程序第14行中的z=(*pmax () x,y ) ((*指针变量名) )实参表)使用函数指针变量时,请注意以下几点

a .函数指针变量不能进行算术运算。 这与数组指针变量不同。 如果将整数添加到数组指针变量中,则指针会指向后面或前面的数组元素,但函数指针的移动没有意义。

b .函数调用中必须有“(*指针变量名)”两边的括号。 其中的)不应该理解为评估运算,在这里只是显示符号。

【c语言函数指针变量】相关文章:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。