微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 深入理解指针函数

深入理解指针函数

时间:11-25 来源:互联网 点击:

// 根据字符得到操作类型,返回函数指针

53 {

54 switch (c)

55 {

56 case d:

57 return GetMax;

58 case x:

59 return GetMin;

60 case p:

61 return GetAverage;

62 default:

63 return UnKnown;

64 }

65 }

66

67 int main(void)

68 {

69 double dbData[]={3.1415926, 1.4142, -0.5,999, -313, 365};

70 int iSize=sizeof(dbData)/sizeof(dbData[0]);

71 char c;

72

73 printf("Please input the Operation :n");

74 c=getchar();

75 printf("result is %lfn", GetOperation(c)(dbData,iSize)); // 通过函数指针调用函数

76 }

上述程序中前面4个函数分别实现求最大值、最小值、平均值和未知算法,然后实现了GetOperation函数。这个函数根据字符的返回值实现上面4个函数。它是以函数指针的形式返回的,从后面的main函数的GetOperation(c)(dbData, iSize)可以看出,通过这个指针可以调用函数。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top