C++中*和&的定义和使用

 

#include<iostream>
using namespace std;
int main()
{

  int r = 1, a = 10;
  cin >> r;//输入新的r值
  cout <<(&r)<< endl;//&代表地址,所以输出r的地址
  cout << *(&r) << endl;//*代表指针,返回指针所指向的地址的值,所以输出r的值

  int *p1;//声明p1为指针型变量
  p1 = &r;//为p1赋值r的地址(必须并且只能赋值地址)
  cout << p1 << endl;//输出r地址
  cout << *p1 << endl;//输出r值
  cin >> *p1;//输入新的*p1的值,因为p1指向的是r,所以本质上是改变了r的值
  cout << *p1 << endl;//输出刚才输入的值
  cout << r << endl;//r的值也变成刚才输入的值
  cin >> r;
  *p1 = 200;//
  cout << *p1 << endl;//
  cout << r << endl;//
  cin >> a;
}

posted @ 2018-03-16 13:37  野望之风  阅读(683)  评论(0编辑  收藏  举报