【c/c++】指针函数和函数指针
2015-12-22 21:39
211 查看
#include<iostream> #include<string> using namespace std; //指针函数,就是其返回值是指针的。 //函数指针,就是指针中存储的地址是某一个函数的入口地址。调用这个指针以后,将在内存中的代码存储区取出相应的代码指令,这样就好比函数功能的调用。用函数指针(函数地址)作为调用函数时实参的好处在于,能在调用一个函数的过程中执行不同的函数,这就提高了处理问题的灵活性。 int main(){ int arr_add(int arr[], int n); int a[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; int *p, total1, total2; int(*pt)(int*, int);//这里是必须要参数的,不然会出错。其实有点类似于调用函数的函数时候,实参和形参对应关系 pt = arr_add; p = &a[0][0]; //在二维数组中,首地址四种表示方法,a[0]等价于a;&a[0]等价于&a[0][0] //a、a[0]、&a[0]是从二维数组角度,&a[0][0]是从具体元素的角度出发 total1 = arr_add(p, 12); total2 = (*pt)(p, 12); //total2 = pt(p, 12); 两种方式都是可以的,个人更喜欢上面那种。 cout << "total1=" << total1 << endl; cout << "total2=" << total2 << endl; return 0; } int arr_add(int arr[], int n){ int i, sum = 0; for (i = 0; i < n; i++) sum += arr[i]; return sum; }
这里关于带参数的main()函数了解一番:
其实这个功能好比是java中public static void main(String[] args)参数args的主要作用是为程序使用者在命令行状态下与程序交互提供了一种手段。
在c++的main函数中的参数其主要作用也是在dos的环境下面用来提高人机交互性
相关文章推荐
- C语言各种数据类型取值范围
- C语言 第一章
- 实战c++中的vector系列--使用sort算法对vector进行排序(对vector<string>排序、使用稳定的排序std::stable_sort())
- 实战c++中的vector系列--使用sort算法对vector进行排序(对vector<string>排序、使用稳定的排序std::stable_sort())
- 设计模式系列(十四)组合模式(Composite Pattern)
- c++获取cpu信息代码
- C++11 并发指南二(std::thread 详解)
- C++ typedef用法小结 (※不能不看※)
- C++11 并发指南一(C++11 多线程初探)
- C语言的基础
- WINDOWS7下VC++ 6.0 无法打开文件(打开文件时软件崩溃)的解决办法。
- vc++笔记十一
- 排序(6)---------归并排序(C语言实现)
- 【c/c++】指针数组和数组指针
- n皇后(C++)
- 学习资源传送门
- C++ cout格式化输出(转)
- C语言中变量未赋值问题总结
- C语言基础
- C语言总结