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



