#include<iostream>
using namespace std;
void swapfunc(int* p, int* q)
{
int temp = 0;
temp = *p;
*p = *q;
*q = temp;
}
int main()
{
//直接访问
int i = 0;
cout << "请输入i的值";
cin >> i;
cout << "i的地址是:" << &i << endl;
cout << "你输入的i的值是:" <<i << endl;
cout << "你输入的i的值是:" <<*( &i) << endl;
//间接访问
int* p = NULL;
int x = 100;
p = &x;
cout << "x的地址:" << &x<<endl;
cout << "p的地址:" << p << endl;
cout << "p的值是:" << *p << endl;
int* q = &x;
cout << "q的值是:" << *q << endl;
int a = 3, b = 4;
int* m = &a;
int* n = &b;
cout << "a=" << (*m)++<<endl;
cout << "a=" << a << endl;
//n++ n向右移了,整体没变
cout << "n的地址" << n << endl;
cout << "n+1的地址" << n++ << endl;
cout << "b=" << *(n++) << endl;
cout << "b=" << b << endl;
int c = 5, d = 6;
swapfunc(&c, &d);
cout << "c的值是:" << c << endl;
cout << "d的值是:" << d << endl;
int aa[5] = { 1,2,3,4,5 };
int* pp;
pp = &aa[0];//等价pp=aa
cout << "a[0]=" << *pp << endl;
cout << "a[1]=" << *(pp+1) << endl;
cout << "通过循环输出数组a元素值:"<<endl;
for (int i = 0; i < 5; i++)
cout <<"a["<<i<<"]="<< * (pp + i) << endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int max = 899;
int& refmax = max;
cout << "max的地址:" << &max << endl;
cout << "refmax的地址:" << &refmax << endl;
cout << "max=" << max << endl;
cout << "refmax=" << refmax << endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int& refp = *new int;
refp = 100;
cout << refp << endl;
delete &refp;
return 0;
}
pr指向不能改变,值可以变
值不能改变,指向可以改变