提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一、函数指针P调用函数max二、函数中的形参和实参1.形参2.实参3.举例提示:以下是本篇文章正文内容,下面案例可供参考
一、函数指针P调用函数max
#include <stdio.h>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;elsereturn b;}
运行结果为:
请输入两个数:22 56max=56
二、函数中的形参和实参
1.形参
形参的作用:
形参是定义函数时在括号里定义的变量,它只是申明用的,是没有值的。形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。
形参的特点:
变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此, 形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
2.实参
实参的作用:
实参是调用函数时 传给形参的值,是有值的。实参是形参被具体赋值之后的值,参加实际的运算,有实际作用。实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。
实参的作用:
实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们 都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。
3.举例
#include <stdio.h>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中的地址为: 14416120main:p中存的地址为: 14416364