C++学习之函数和指针
2017-01-10 21:39
169 查看
#include <iostream> #include <string> /** *指针以及指针函数 *created by tengxign on 2017.1.10 */ using namespace std; //做函数声明,函数的实现可以在调用的后面,但是声明必须在调用的前面 int add(int,int); int mutiple(int,int); int doOperate(int a,int b,int (*opImp)(int,int)); int main(){ //声明一个变量 int var = 100000; //输出变量的值 cout<<"var's value = "<<var<<endl; //变量在内存中存储,每一个变量都有一个地址 //通过&符号即可取得变量的地址 cout<<"var's address = "<<&var<<endl; //取得地址的中存放数据的值,这儿应该输出1000 //&var表示var变量的地址,*(&var)表示取出地址中的数值 cout<<*(&var)<<endl; //声明指针型变量 //下面的星号和上面的型号意思不同,上面的型号表示取出地址对应变量的值 //而这里的*表示声明int类型的指针变量,intPointer是一个指针变量 int* intPointer; int i=1000; intPointer = &i; //下面将输出变量i的地址的值 cout<<"intPointer = " <<intPointer<<endl; //下面将输出变量i的值 cout<<"intPointer's variable value = "<<*intPointer<<endl; //可以通过指针赋值 *intPointer = 999; //现在a的值是999 cout<<"intPointer's variable value = "<<*intPointer<<endl; //但是不能用程序修改intPointer的值,下面一行代码是不允许的 //intPointer = 9999999; //可以将指针指向另外一个变量 int anotherVar = 987; intPointer = &anotherVar; //指针和数组的关系 //这个数组的声明方式和c#中不同c#是int[] intArray = .. int intArr[] = {1,2,3,4,5,6}; //现在可以将intArr赋给intPointer //现在intPointer是指向数组的第一个元素 intPointer = intArr; //给数组的第三个元素赋值10 *(intPointer+2)=10; //也可写成intPointer[2] = 10; //和下面语句是等价的 //intArr[2] = 10; cout<<"intArr[2] = "<<intArr[2]<<endl; //指针的指针可以多加一个*号 //指针本身也是一个变量需要在内存中存储,所以就有了指针的指针 int** pp = &intPointer; //函数指针 //和c#的委托差不多了 int sum = doOperate(1,2,add); cout<<"sum="<<sum<<endl; int mut = doOperate(1,2,mutiple); cout<<"mut="<<mut<<endl; } //声明函数指针的语法 返回值类型 (*变量名)(参数值类型1[,参数值类型2]) int doOperate(int a,int b,int (*opImp)(int,int)){ return (*opImp)(a,b); } int add(int a,int b){ return a+b; } int mutiple(int a ,int b){ return a*b; }
相关文章推荐
- C++学习笔记(13)——利用对象、引用、指针调用虚函数
- 学习札记: C++指向函数的指针
- C++学习笔记之函数指针
- [C++学习笔记]--函数指针
- C/C++学习:函数指针
- C/C++中关于地址、指针和引用变量的学习笔记(四) : 函数
- C++学习之函数指针
- C/C++学习笔记17:函数指针
- C++学习之普通函数指针与成员函数指针
- 【C/C++学习】之七、指向函数的指针
- C++函数指针 学习笔记
- C++学习笔记之指向函数的指针
- C++学习之普通函数指针与成员函数指针
- C++成员函数指针的应用(学习收录)
- 学习c++中虚函数、纯虚函数、指针
- 改善C++ 程序的150个建议学习之建议8:拒绝晦涩难懂的函数指针
- 我的c++学习(12)指针作为函数参数
- Java程序员学习C++之函数指针
- C++学习笔记(八):函数重载、函数指针和函数对象
- C++学习之普通函数指针与成员函数指针