码迷,mamicode.com
首页 > 编程语言 > 详细

c++指针

时间:2018-03-10 21:55:02      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:cout   down   post   using   out   markdown   iostream   没有   等价   

先由一段代码来引入:

#include <iostream>
using namespace std;
  
int main(){
        int var = 1;
        int *p = &var;
//      p = &var;
//      *p = var;
        cout << p << endl;
        cout << *p << endl;
        cout << &p << endl;
        return 0;
}

这段代码的编译结果为

0x7ffc1ba0fc34
1
0x7ffc1ba0fc38

对一个指针的赋值应该为地址。不能将值符给指针。
也就是说,行6和行7的赋值是合法的,而行8的赋值是非法的。
第6行复制语句,在指针初始话的时候,前面的‘‘*‘‘可以视为没有,因此,行6和行7的赋值是等价的。

下面对一下运算进行总结,
‘‘*‘‘可以看成对指针变量的取值运算
‘‘&‘‘可以看成对变量的取地址运算。这里注意,指针里存着的是地址,而指针本身还有一个地址,总就是上面代码p, *p, &p 输出不同值的原因。

c++指针

标签:cout   down   post   using   out   markdown   iostream   没有   等价   

原文地址:https://www.cnblogs.com/litingyu/p/8541844.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!