指针,const指针,指针最要注意的地方

指针

 const int* p;  等价的(int const* p

     这个p是一个指向int类型const对象的指针,const限定了指针p所指向的类型,而并非p本身,也就是说p本身并不是const

     int a=0; p = &a;   //可以

     *p = 20;           //不可以

     

     const int b=10;

     int* p2 = &b;          //不可以

     const int* p3 = &b;    //可以

     

     不能使用void*指针保存const对象的地址,而要使用const void*

     const int a=6;

     void* p =&a;   //不可以

     const cp* =&a; //可以

 

 int* const p;

     指针P称为const指针

 

 const int d=30;

 const int* const p=&d;(常量要赋初始值)

 

 long* fellow;

 *fellow = 223323;

 上面的代码中fellow确实是一个指针,但它指向哪里呢?

 上述代码没有在将地址赋给fellow.那么223323将放在哪里呢?我们不知道。由于fellow没有被初始化,它可能有任何值。

 不管值是什么,程序都将它理解为存储223323的地址,如果fellow的值碰巧为1200,计算机将把数据放在地址1200上,即使这恰巧

 是程序代码的地址fellow指向的地方很可能并不是所要存储223323的地方。

 警告:一定要在对指针应用解除引用操作符(*)之前,将指针初始化为一个确定的,适当的地址。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值