指针这东西是好。平时用的少。。一遇到复杂的指针写法就开始懵圈。以下记录一下。方便自己查阅:
#include<iostream>
using namespace std;
int main() {
double dval = 6.0;//变量
double* pd = &dval;//*pd指向dval的地址,pd此时是地址
double* pd2 = pd;//*pd2指向pd地址内的值,此时是dval的地址
cout <<"dval 的值为:" << dval<<"\t\t" << "dval 的地址为:" << &dval << endl;
cout << "pd 的值为:" << pd << "\t" << "pd 的地址为:" << &pd << endl;
cout << "*pd 的值为:" << *pd << "\t\t" << "*pd 的地址为:" << &(*pd) << endl;
cout << "pd2 的值为:" << pd2 << "\t" << "pd2 的地址为:" << &pd2 << endl;
cout << "*pd2 的值为:" << *pd2 << "\t\t" << "*pd2 的地址为:" << &(*pd2) << endl;
/*dval 的值为:6 dval 的地址为:00EFF6FC
pd 的值为:00EFF6FC pd 的地址为:00EFF6F0
*pd 的值为:6* pd 的地址为:00EFF6FC
pd2 的值为:00EFF6FC pd2 的地址为:00EFF6E4
*pd2 的值为:6* pd2 的地址为:00EFF6FC*/
//指针也需要占用内存地址,它的内存地址里保存的值是指向对象的实际内存地址,加上解引用符*,就可以直接调用指向对象内存的值
return 0;
}