C++ 学习笔记

来源:互联网 发布:messenger mac 编辑:程序博客网 时间:2024/06/06 02:45

指针函数 & 函数指针

  1. 指针函数 : 实质上还是一个函数,是一个函数,他的返回值的类型是指针,这样的函数叫做指针函数。
  2. 函数指针 : 是一个指针类型的变量,它指向一个函数的首地址,可以通过调用这个指针相当于调用这个函数。
int *f(int a, int b) {      int *p = (int *)malloc(sizeof(int));      printf("The memeory address of p = 0x%x \n", p);      memset(p, 0, sizeof(int));      *p = a + b;      printf("*p = %d \n", *p);      return p;  }// 函数指针 :/*  * 求最大值  * 返回值是int类型,返回两个整数中较大的一个  */  int max(int a, int b) {      return a > b ? a : b;  }  /*  * 求最小值  * 返回值是int类型,返回两个整数中较小的一个  */  int min(int a, int b) {      return a < b ? a : b;  }  int (*f)(int, int); // 声明函数指针,指向返回值类型为int,有两个参数类型都是int的函数  这个地方必须声明int _tmain(int argc, _TCHAR* argv[])  {      printf("------------------------------ Start\n");      f = max; // 函数指针f指向求最大值的函数max  也可以用取地址解决    int c = (*f)(1, 2);   // 也可以不加括号 直接 f(12);    printf("The max value is %d \n", c);      f = min; // 函数指针f指向求最小值的函数min      c = (*f)(1, 2);      printf("The min value is %d \n", c);      printf("------------------------------ End\n");      getchar();      return 0;  }  
原创粉丝点击