#include结果void printWelcome() { printf("程序启动,欢迎使用n"); } int changData(int data) { return ++data; } int main() { void (*p)(); //定义一个函数指针变量 p = printWelcome; //指向函数(需相同类型) (*p)(); //调用 int (*p2)(int data); p2 = changData; printf("p2=%dn",(*p2)(10)); return 0; }
程序启动,欢迎使用 p2=11应用回调函数
#include#include int getMax(int data1,int data2) { return data1>data2?data1:data2; } int getMin(int data1,int data2) { return data1 结果 请输入1:(a,b中大的值)2:(a,b中小的值)3:(a,b的和) 1 ret = 20 请输入1:(a,b中大的值)2:(a,b中小的值)3:(a,b的和) 2 ret = 10 请输入1:(a,b中大的值)2:(a,b中小的值)3:(a,b的和) 3 ret = 30指针函数指针函数返回指针值的函数
例:有a个学生 ,每个学生有b门课程的成绩。要求在用户输人学生序号以后,能输出该学生的全部成绩。用指针函数来实现
概念
一个函数可以返回一个整型值字符值、实型值等,也可以返回指针型的数据,即地址。其概念与以前类似,只是返回的值的类型是指针类型而已。
例如“int * a(int x,int y);",a是函数名,调用它以后能得到一个int*型(指向整型数据)的指针,即整型数据的地址。x和y是函数a的形参,为整型。
请注意在 * a两侧没有括号,在a的两侧分别为 * 运算符和( )运算符。而( )优先级高于 * ,因此a先与( )结合,显然这是函数形式。这个函数前面有一个 * ,表示此函数是指针型函数(函数值是指针)。最前面的int表示返回的指针指向整型变量。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)