指针的那些事

关于指针,大家都不陌生,无论学习c,c++亦或者其它编程语言,它都是不可或缺的。

但是指针的定义   指针的用法  等等各种问题。我们都必须弄清楚,不能让他阻碍我们前进的步伐;

先说int* p;   这里有必要说明一下   int*   表示的定义一个指向int 类型的指针变量;  该变量内存里是所指对象的地址,

用*指针运算符 即 取值符  取出指针变量p所指的内存空间里的数值(内容)。


看下面一段例子

int *p=NULL;    //定义一个指向整形数据的指针变量p,并且使它指向空,即p的内存空间里存取NULL,使它不指向任何变量;如果不将它指向空,它很可能指向非法地址。   

int a=10; 

p=&a; //这里其实跟第一行道理是一样的,就是先取出a的地址,然后将该地址赋值给p,此时a的地址存储在指针变量p的内存空间里

cout<<*p<<endl;   //使用*指针运算符(取值符)取出指针变量p所指向的内存空间里的值


其实还可以这样写   int  a=10;

                                int *   p=&a;

                        cout<<*p<<endl;

   所得结果跟上面是一样的,这里的int*  p=&a   之所以写*号   是说明p的出身,人家是指向int类型的指针变量;


指针的使用其实就是这样,一般情况下将对象的地址用取地址符取出,然后符给指针变量,使指针变量存取该对象的物理地址,然后使用*p把它指向的对象的值取出来;

当把一个对象的地址赋值给同类型的一个指针时,就称该指针指向了该对象;


有很多情况下取指针指向对象值的时候不使用指针运算符*,而是用   ->  这个取值符,  像在结点中,此时的p->  中的p是指针变量p所指向内存的首地址,和数组的首地址是一个概念;此时p加上一个->运算符后    p代表的是p所指向的结点;但是注意了,单独一个p仍然是指针变量,什么都不能代表;指针变量p只有加上不同的运算符后,才能表示不同的含义;

关于指针先说这么多了,这么基础的东西想想还是写出来,没事大家可以看看。

  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿的探索之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值