C语言中通过函数指针调用函数

C语言中通过函数指针调用函数,第1张

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • 一、函数指针P调用函数max
  • 二、函数中的形参和实参
    • 1.形参
    • 2.实参
    • 3.举例

提示:以下是本篇文章正文内容,下面案例可供参考

一、函数指针P调用函数max
#include 
void main()
{
    int max(int x, int y);
    int (*p)();
    int x, y, z;
    p = max;
    printf("请输入两个数:\n");
    scanf("%d %d", &x, &y);
    z = (*p)(x, y);
    printf("max=%d", z);
}
int max(int a, int b)
{
    if (a > b)
        return a;
    else
        return b;
}

运行结果为:

请输入两个数:
22 56
max=56
二、函数中的形参和实参 1.形参

形参的作用:

  • 形参是定义函数时在括号里定义的变量,它只是申明用的,是没有值的。
  • 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。

形参的特点:

  • 变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此, 形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
2.实参

实参的作用:

  • 实参是调用函数时 传给形参的值,是有值的。实参是形参被具体赋值之后的值,参加实际的运算,有实际作用。
  • 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。

实参的作用:

  • 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们 都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。
3.举例
#include 


void test(int* p)    //此处P为形参
{
    int x = 4;
    p = &x;
    printf("在函数中p中的地址为: % d\n", p);
}
int main()
{
    int e = 3;
    int* p = &e;      //此处P为实参
    printf("main:p中存的地址为:%d\n", p);
    test(p);
    printf("main:p中存的地址为: % d\n", p);
    return 0;
}

运行结果为:

main:p中存的地址为:14416364
在函数中p中的地址为:  14416120
main:p中存的地址为:  14416364

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1498624.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-25
下一篇2022-06-25

发表评论

登录后才能评论

评论列表(0条)

    保存