#include "stdafx.h" #include <iostream> using namespace std;
int main(int argc, char* argv[]) { int ival = 1024; int *p = &ival; // a pointer int &rval = ival; // a reference
int jval = 4096; int xval = 8192; cout << "ival = " << ival << "/t"; cout << "&ival = " << &ival << "/t"; cout << endl; cout << "p = " << p << "/t"; cout << "&p = " << &p << "/t"; cout << "*p = " << *p << "/t"; cout << endl; cout << "rval = " << rval << "/t"; cout << "&rval = " << &rval << "/t"; cout << endl; cout << "jval = " << jval << "/t"; cout << "&jval = " << &jval << "/t"; cout << endl; cout << endl; cout << "改变指针 p = &jval;" << endl; cout << "改变引用 rval = jval" << endl; // change the values of the reference and the pointer p = &jval; rval = jval; // print the changes cout << "ival = " << ival << "/t"; cout << "&ival = " << &ival << "/t"; cout << endl; cout << "p = " << p << "/t"; cout << "&p = " << &p << "/t"; cout << "*p = " << *p << "/t"; cout << endl; cout << "rval = " << rval << "/t"; cout << "&rval = " << &rval << "/t"; cout << endl; cout << "jval = " << jval << "/t"; cout << "&jval = " << &jval << "/t"; cout << endl; cout << endl; cout << "通过指针改变指针指向的实例的值 *p = xval" << endl; *p = xval; cout << "p = " << p << "/t"; cout << "&p = " << &p << "/t"; cout << "*p = " << *p << "/t"; cout << endl; cout << "jval = " << jval << "/t"; cout << "&jval = " << &jval << "/t"; cout << endl; printf("any char to close"); getchar();
return 0; }
ival = 1024 &ival = 0013FF7C p = 0013FF7C &p = 0013FF78 *p = 1024 rval = 1024 &rval = 0013FF7C jval = 4096 &jval = 0013FF70
改变指针 p = &jval; 改变引用 rval = jval ival = 4096 &ival = 0013FF7C p = 0013FF70 &p = 0013FF78 *p = 4096 rval = 4096 &rval = 0013FF7C jval = 4096 &jval = 0013FF70
通过指针改变指针指向的实例的值 *p = xval p = 0013FF70 &p = 0013FF78 *p = 8192 jval = 8192 &jval = 0013FF70