C++ 学习笔记
2017-10-10 09:48
155 查看
指针函数 & 函数指针
指针函数 : 实质上还是一个函数,是一个函数,他的返回值的类型是指针,这样的函数叫做指针函数。函数指针 : 是一个指针类型的变量,它指向一个函数的首地址,可以通过调用这个指针相当于调用这个函数。
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(1,2); 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; }
相关文章推荐
- 【菜鸟C++学习笔记】12.构造函数与析构函数
- C++学习笔记之I/O流
- C++学习笔记 extern C
- C++学习笔记 <multimap>
- More Effective C++ 学习笔记
- Armadillo C++ linear algebra library 学习笔记(1)——简介与安装
- c++学习笔记(7)——关于类的实现(以vector为例)
- C++ Primer plus 学习笔记之第八章函数探幽(1)
- 【C++数据结构学习笔记---栈】用链表实现栈
- COM组件学习笔记--C++的虚函数表
- C++学习笔记(三) 域运算符 new delete运算符 重载 name managling与extern"c" 带默认参数函数
- 【C++学习笔记】13_指针的运算
- C/C++学习笔记25:用typedef定义类型
- C++学习笔记之对文件的操作
- 设计模式C++学习笔记之十六(Observer观察者模式)
- C/C++学习笔记——初次接触递归
- Effective c++ 学习笔记——之条款1:视C++为一个语言联邦
- C++学习笔记(三)
- C++学习笔记------入门基础
- 学习笔记 C++ 链表